您擁有的最佳選擇是使用pm3d
。對於這個工作,你必須改變你的數據文件中的位:您必須複製很行,重複的z值更改爲0
,並添加一個新的生產線,即你的前兩個數據線
1 1 2
2 1 4
必須成爲
1 1 2
1 1 0
2 1 4
2 1 0
等等。之後您仍然需要連續兩個空行來分隔不同的「牆」。
如果你可以控制你的數據輸出,你可以改變你的輸出例行程序,或者您也可以使用命令行工具,如sed
sed 's/^\([0-9]* [0-9]* \)\(.*\)$/&\n\1 0\n/' gistfile1.txt
或awk
:
awk '1; {print $1,$2,0,"\n"}' gistfile1.txt
做轉換。當然,這可以在gnuplot中實時完成。一個完整的工作腳本是:
filename = 'gistfile1.txt'
sed = '< sed ''s/^\([0-9]* [0-9]* \)\(.*\)$/&\n\1 0\n/'' '
set autoscale cbfix
set palette defined (0 'red', 1 'blue')
set pm3d depthorder
unset colorbox
unset key
set ticslevel 0
splot sed.filename using 1:2:3:(column(-2)) with pm3d
和結果使用gnuplot 4.6。5與您的示例數據是:
一些附加註釋:
- 第四列被用來選擇比用於着色的z值不同的值。
column(-2)
使用塊號(相鄰的塊由2個空行分隔)作爲顯色指數。
- 屬於不同數據塊的點未連接。
- 隨着
set autoscale cbfix
可以更好地控制用於飛機的顏色。
- 如果你知道,你有例如應該有特定顏色的三架飛機也可以使用
set palette defined (0 'red', 1 'green', 2 'blue')
。
Christoph - 你是一個非常有才華的人。感謝您的幫助(感謝您的幫助以及Miguel)。 – dps 2014-08-28 21:17:16