2012-08-03 96 views
6

Tengo algunos datos de X Y Z en un archivo y estoy usando gnuplot para mostrarlo. Estoy creando un mapa de calor, es decir. un gráfico 2D donde el valor Z se presenta usando color. En este momento estoy usando el siguiente script:rango de color del mapa de calor de gnuplot

set palette defined (0 "blue", 1 "red") 
plot "xyz.dat" u $1:$2:$3 w image 

Mi problema es, gnuplot ignora el 0 y 1 en la definición de la paleta. Utiliza los colores especificados, pero se vuelve a escalar de acuerdo con el valor Z mínimo y máximo en el archivo. Esto hace que sea difícil comparar visualmente diferentes gráficos cuyo rango z es diferente.

¿Cómo le digo a gnuplot que deje de redimensionar el rango de color z?

Respuesta

9

El comando "establecer paleta definida" correlaciona los valores de gris que obtendría si estuviera dibujando con escala de grises en una paleta de colores; el escalado a min -> 0 y max -> 1 es como se supone que debe funcionar. Si quiere hacer un conjunto de gráficos con la misma escala de datos, querrá usar el comando "set cbrange". Por ejemplo,

set cbrange [0:0.5] 
    set palette defined (0 "blue", 1 "red") 
    splot '++' using 1:2:(sin($1)*cos($2)) w image 

le da una parcela de imagen con el valor máximo de datos de 0,5 asignada al rojo y al azul 0 asignada. parcelas posteriores, como

splot '++' using 1:2:(0.5*sin($1)*cos($2)) w image 

utilizarán la misma escala, para que puedan ser comparados.

Cuestiones relacionadas