4

我有一个制表符分隔的数据文件,其中包含许多(双空行分隔的)数据集,我想为每个数据集绘制一条线。我希望能够设置线型(我指的是实线/虚线/点线)。我希望每条线都是不同的颜色。

我可以使用以下方法绘制所有不同的颜色:

plot 'example.dat' using 1:2:(column(-2)) with lines linecolor variable

我可以设置线型,但使用以下方法将它们绘制成相同的颜色:

plot 'example.dat' using 1:2:(column(-2)) with lines linetype 5

但是当我组合它们时,线型不是我设置的(在这种情况下我只是得到一条实线)。

plot 'example.dat' using 1:2:(column(-2)) with lines \
  linetype 5 linecolor variable

有没有办法做到这一点?

我正在使用 gnuplot 4.6,尝试使用 x11 和 postscript 终端。

4

1 回答 1

3

这对我来说似乎是一个错误。不幸的是,我不认为有太多的 gnuplot 开发者在 StackOverflow 上闲逛,所以我们可能永远也不会发现。(不过,我鼓励你提交一份错误报告,并让我随时了解可能取得的任何进展)......

如果您真的column(-2)用来挑选颜色,问题会变得容易得多,您应该能够使用绘图迭代来做到这一点(只要您知道数据集数量的上限)。

NDSET=3 #This will issue a warning if NDSET is too big, but will still work.
plot for [IDX=0:NDSET] 'example.dat' index IDX using 1:2 with lines linetype 5 linecolor IDX+1

索引从 0 开始,对应于column(-2)。Linecolor0没有定义(我不知道为什么 gnuplot 在这里使用两种不同的约定——我想是因为理论上任何特定线条样式对应的颜色都是终端相关的,所以无论如何它并不重要......)

于 2012-08-11T23:53:29.407 回答