2017-07-05 2 views
0

Gibt es eine Möglichkeit, drei 2D-Karten (drei Heatmaps) in einemeinzelnen 3D-Graphen im Gnuplot zu erstellen? Ich habe drei Datensätze (in Matrixform), um sie als 2D-Karten in einem einzigen 3D-Diagramm darzustellen: die ersten Daten in der XY-Ebene, die zweite in XZ und die letzte in YZ. So habe ich versucht, die (naive) Code:Drei 2D-Karten in einem einzigen 3D-Graphen in Gnuplot

set multiplot splot 'data_1' matrix u 1:2:3 w image splot 'data_2' matrix u 2:3:1 w image splot 'data_3' matrix u 3:2:1 w image unset multiplot

aber mit Ausnahme der Karte 'data_1', alle anderen aus Maßstab sind. Es gibt eine Möglichkeit, dies zu tun?

Antwort

0

Sie müssen dem splot Befehl 4 Stücke von Informationen geben: die x-, y- und z-Koordinate und den Wert für die Farbe. Zum Beispiel das Skript

set xyplane at -0.5 
set xrange [-0.5:3.5] 
set yrange [-0.5:3.5] 
set zrange [-0.5:3.5] 
set xtics 1 
set ytics 1 
set ztics 1 
set view 55,110 
unset key 
splot "data.dat" matrix u 1:2:(-0.5):3 w image, \ 
     "" matrix u 1:(-0.5):2:3 w image, \ 
     "" matrix u (-0.5):1:2:3 w image 

wo data.dat ist eine Datendatei in Matrixformat wie

1 2 3 2 
4 5 6 5 
7 8 9 8 
4 5 6 5 

die folgende Ausgabe gibt:

enter image description here

+0

Vielen Dank @ user8153, es ist sehr einfach. Aber aus irgendeinem Grund (mir unbekannt), wenn die Matrixzeile 4 überschreitet, passt die Grafik nicht auf die Achsenskala. Daher habe ich basierend auf Ihrem Vorschlag eine Modifikation versucht. Ich habe Ihr Skript in einem Raster mit Farbwerten verwendet ( ... ... \). Jetzt ist das Ausgabeplot in der Achsenskala. –

Verwandte Themen