2016-04-09 11 views
3

Ich benutze Gnuplot 4.6. Ich habe Datendateien, die jeweils 3 Datenspalten enthalten: X-Koordinate, Y-Koordinate und Temperatur. Ich möchte eine Animation von Temperaturkurven als Funktion der X- und Y-Koordinaten machen. Dazu verwende ich das folgende Skript:So erzwingen Sie den Farbbereich in gnuplot

set pm3d map; set palette; 
do for [n=0:200] {splot sprintf("Temperature.%04d.dbl", n) binary array=100:100:1 form="%double" title 'file number'.n} 

Mein Problem ist mit der Tatsache, dass nach einem paar Parzellen, die Verteilung der Farben ändern, sowohl in der Handlung und in der Legende. Dies macht das Lesen aus der Grafik sehr schwierig. Ich konsultierte die folgenden Beitrag:

gnuplot heat map color range

und da der Bereich der Temperaturgröße von 0,0 bis 1,2 ist dachte, dass ich zu verwenden:

set zrange [0.0:1.2]; set cbrange [0.0:1.2]; 

aber es hilft nicht, und die Temperatur Die Farbe wird weiterhin automatisch von Plot zu Plot skaliert. Irgendwelche Vorschläge?

+1

, die seltsam . Können Sie ein vollständiges minimales Skript bereitstellen, das das Problem reproduziert? d. h. das While-gnuplot-Skript + eine Stichprobe der Daten. – bibi

Antwort

3

Neben cbrange Einstellung, könnten Sie versuchen, durch

set palette defined (0 "black",\ 
        0.2 "red",\ 
        0.4 "orange-red",\ 
        0.6 "orange",\ 
        0.8 "yellow",\ 
        1.0 "light-green",\ 
        1.2 "green") 

enter image description here

Ihre eigene Palette definieren Oder wenn Sie diskrete Werte wollen:

set palette defined (0 "black",\ 
        0.2 "black",\ 
        0.2 "red",\ 
        0.4 "red",\ 
        0.4 "orange-red",\ 
        0.6 "orange-red",\ 
        0.6 "orange",\ 
        0.8 "orange",\ 
        0.8 "yellow",\ 
        1.0 "yellow",\ 
        1.0 "light-green",\ 
        1.2 "light-green") 

enter image description here

+0

Dies legt die Palette fest, hilft jedoch nicht beim Festlegen des Farbbereichs in allen aufeinander folgenden Plots. Ich werde versuchen, das Problem besser zu erklären: In einigen Plots liegt die Temperatur in der Legende (und im Plot selbst) zwischen 0 und 1,2, dann springt sie in einigen anderen Plots auf den Bereich 0 bis 1,1 und damit Ändert die Farbverteilung und macht das Auslesen sehr schwierig. –

+0

Seltsam! Können Sie Ihr Skript bereitstellen, das die Plots erstellt? Können Sie versuchen, 'set cbrange' jedes Mal aufzurufen, bevor Sie' plot' aufrufen? –

Verwandte Themen