gnuplot中xticlabels中的自定义字符串

时间:2013-02-19 05:50:13

标签: gnuplot

这个帖子在这里: Custom string in xticlabels

解决了定制xticlabel字符串的问题。

现在,我如何对第4列中的数据进行排序(例如),以便只使用第4列中包含某些字符串的行来创建xticlabel? IOW,正确的格式是什么:(IF strcol(4)eq" Sunrise")plot' datafile'你4:2 :( xticlabels(strcol(4).strcol(2)))

1 个答案:

答案 0 :(得分:1)

鉴于此数据文件:

Sunrise cat 1
Sunset dog 2
Sunrise fish 3
waste space 4
blah blah 5
Sunrise label 6

我们可以用这一行绘制它:

plot 'test.dat' u 3:xticlabels(strcol(1) eq 'Sunrise'?strcol(1).strcol(2):'')

它创造了这个情节:

enter image description here

基本上我在那里做的是我查看了第1列中的字符串,如果它是“Sunrise”,我将它与第2列中的字符串连接起来。如果它不是“Sunrise”,那么我返回一个空字符串防止标签放在那里。但是,这会在每个数据点的位置放置一个主要的tic。为避免这种情况,您可以使用以下内容:

plot 'test.dat' u 3:xticlabels(strcol(1) eq 'Sunrise'?strcol(1).strcol(2):NaN)

产生这个图(我在gnuplot 4.4.2和4.6.0上测试过):

enter image description here

它还会发出一系列关于非字符串标签的警告,但我想这没关系。