1

此线程在这里: xticlabels 中的自定义字符串

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

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

4

1 回答 1

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):'')

它创建了这个情节:

在此处输入图像描述

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

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

这产生了这个情节(我已经在 gnuplot 4.4.2 和 4.6.0 上测试过):

在此处输入图像描述

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

于 2013-02-19T13:39:37.587 回答