我有一個文件包含3列中的數據。第一列包含x座標,第三列包含y座標。第二列包含值(作爲示例,假定它具有來自集合{0, 1, 2}
的值),取決於哪一個,繪製點的顏色和類型是決定的。我使用以下命令來進行繪圖:如何在gnuplot中繪製一個基於測試條件的文件和y座標的x座標?
plot "< awk '{if($2 == \"0\") print}' out.txt" using 1:3 title "Label 0" with points pointtype 1 lc rgb '#990000'
"< awk '{if($2 == \"1\") print}' out.txt" using 1:3 title "Label 1" with points pointtype 2 lc rgb '#990055'
"< awk '{if($2 == \"2\") print}' out.txt" using 1:3 title "Label 2" with points pointtype 3 lc rgb '#990099'
這工作正常。但現在,我要實現以下目標:
- 如果針對特定行,在我的文件中
(1st column, 3rd column)
對應(xi, yi)
,則取決於yi
的價值,我希望在(xi, Yi)
繪製一個點。
有人可以幫助我嗎?謝謝。 PS:我是gnuplot的初學者。我不確定這是一個非常簡單的問題。 在此先感謝。
下面是一個示例數據和我的期望。
Sample Data: Expected point:
0 0 34 (0, 30) Red
0 1 10 (0, 10) Green
0 2 44 (0, 40) Blue
1 0 50 (1, 50) Red
1 1 49 (1, 50) Green
1 2 48 (1, 50) Blue
2 0 46 (2, 50) Red
2 1 49 (2, 50) Green
2 2 46 (2, 50) Blue
3 0 45 (3, 50) Red
3 1 46 (3, 50) Green
3 2 48 (3, 50) Blue
4 0 68 (4, 70) Red
4 1 44 (4, 40) Green
4 2 46 (4, 50) Blue
5 0 43 (5, 40) Red
5 1 44 (5, 40) Green
5 2 44 (5, 40) Blue
6 0 43 (6, 40) Red
6 1 42 (6, 40) Green
6 2 46 (6, 50) Blue
'yi'是從'yi'確定的嗎? –
@Tom Fenech,'Yi'可以通過一些簡單的計算從'yi'派生出來,或者它可以是一個常數。就像,如果文件中的值是(5,0,73),(6,1,78),(7,2,84),我想選擇'Yi'作爲80(常數)或者最近的10的倍數,對於每個'yi'。 – jsp99
根據你的評論,你似乎認爲這些線條被分成三份 - 是這種情況嗎?如果是這樣,你想要使用一個基於平均值的數字四捨五入到最接近的10(或類似的東西),事情會變得更復雜一點。如果您只是想將數字舍入到最接近的10,那很容易。請[編輯]你的問題來澄清。顯示一些示例數據總是有用的。 –