2013-01-16 437 views
0

我看起來大致是這樣的gnuplot的:在一個二維散點圖

# X Y Value 
1 1 1.5 
1 2 2.5 
2 1 NaN 
2 2 3.0 

我想創建的Gnuplot散點圖在每個點和標籤跨越數據文件標籤與「南」未定義的值與旁邊的價值。

set datafile missing "NaN" 
plot "data.txt" using 1:2:3 with labels left, \ 
    "data.txt" using 1:2 with points 

我希望看到一個標籤與一個未定義值的點一個字符串NaN。而不是打印標籤。 是否有強制未定義值打印的設置?

我想這一點,但仍然沒有標籤未定義值:

plot "data.txt" using 1:2:(($3==$3) ? $3 : "NaN") with labels left 

它看起來像未定義點共

回答

1

下面的作品就好了跳過我(GNUPLOT 4.4和GNUPLOT 4.6 ):

plot 'data.txt' u 1:2:3 w labels left,\ 
    'data.txt' u 1:2 w points 

事實上,複製/粘貼你的原代碼對我的作品還有:

set datafile missing "NaN" 
plot "data.txt" using 1:2:3 with labels left, \ 
    "data.txt" using 1:2 with points 

也許你沒有注意到標籤,因爲它們幾乎不在屏幕上?

set xrange [0:3] 
set yrange [0:3] 

幫助他們更容易一點,看看...

+1

好吧,可恥的是我。沒有經過測試,我太虛弱了。 「使用1:2:3」(打印NaN)和「使用1:2:($ 3)」以及調用函數的更復雜表達式之間有區別 - 函數甚至沒有被評估。現在我發現'valid(n)'可以用於這個:'使用1:2:(valid(3)?sprintf('%。0f',$ 3):「NaN」)'。無論如何,謝謝你的回答! – hfs