2013-01-16 119 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