2016-05-21 14 views
0

Ich muss die Temperaturkarte eines Querschnitts in einem Zylinder plotten, für den ich this data. verwenden Wenn ich die Daten als Heatmap in Gnuplot plotten, bekomme ich nur die folgende Abbildung. enter image description here Meine Heatmap soll ein Viertelkreis sein. Die Koordinaten in meiner Datei entsprechen nur einem Viertelkreis. Aber Gnuplot gibt mir ein Quadrat. Wie bekomme ich eine Viertelkreis-Heatmap?Gnuplot-Circular 2D Heatmap

MWE

set pm3d map interpolate 0,0 
set dgrid3d 
splot 'Temp.dat' using 1:2:3 

Antwort

2

dgrid3d kann nur ein rechteckiges Gitter machen, aber das ist nicht das Hauptproblem: Der Standard-Algorithmus von „dgrid3d“ stark Ihre Daten verzerrt. Verwenden Sie "Splines" (oder "qnorm"?).

Sie haben dies in zwei Schritten vor:

set dgrid3d splines 
set table $dat 
splot dataf 
unset table 
unset dgrid3d 

Das interpoliert Gitter im Datenblock $ dat gespeichert wird. Sie können es jetzt mit pm3d plotten und jeden Punkt deaktivieren, der sich außerhalb Ihres ursprünglichen Datasets befindet.

set pm3d map .... 
splot $dat using 1:2:(($1**2+$2**2) > 16) ? 1/0 : $3) 

(Dies muss gnuplot> 5.0. Wenn Sie noch eine ältere Version haben, müssen Sie statt $dat eine temporäre Datei verwenden.)