2012-09-13 42 views
1

我有一个gnuplot线图。我想添加一个缺口(突破)来表示缺乏数据。我怎样才能做到这一点?如何在gnuplot行添加空隙?

例如,假设我有x = 10-> 100和200-> 500之间的数据。所以我想要一个10到100之间的行(相同的行,所以图例匹配),然后100和200之间的差距,再次200和500之间的行。

我试过添加空的数据点(即- y值),但gnuplot乐于插入这些点。

回答

2

有之间一个非常微妙的区别:

plot 'data' u 1:2 w lines 

plot 'data' u 1:($2) 2 lines 

在你的情况,我认为它应该工作要做:

set datafile missing '-' 
plot 'data' u 1:($2) w lines 

注:这会导致与我将描述nex的空白行方法不同的情节T)。

另一种方法是只在数据文件中绘制一条空白行,以便在其中存在空隙。

例如为:

#data 
10 15 
20 30 
100 17 

200 25 
300 12 
500 16 

,然后用两种plot 'data' u 1:2 w linesplot 'data' u 1:($2) w lines绘制。两者应该产生一个相同的情节。

欲了解更多信息,请参阅gnuplot中的help missing

+0

那么'($ 2)'和'2'之间有什么区别? – Adam

+0

'$ 2'意味着从第二列中获取信息,就像'2'一样。然而,你可以用'$'表示法做很多有趣的事情。您可以对数据进行简单的转换,例如:'plot'data'u 1:(3 + $ 2)'(在绘图之前,第二列中的所有数据都会增加3)。它的行为与w.r.t略有不同。缺少数据(显然)。可能我应该先把它放在第一位,但我真的认为插入一个空白记录你想要换行是最好的办法。我只想指出我在使用“丢失”数据的情况。 – mgilson

+0

Gotcha。说得通。我使用了“缺失”符号,因为它更容易适合我的分析脚本。 – Adam