平滑命令不支持变色?

时间:2014-05-04 15:53:48

标签: gnuplot

我正在尝试使用smooth csplines命令在GNUplot中创建一个图。数据文件可以有许多不同的部分来绘制(不是常数),我喜欢使用lc变量选项来区分它们的不同颜色。我错了是不支持lc变量选项吗?

1 个答案:

答案 0 :(得分:1)

正确,您不能在单个绘图命令中混合使用smoothlc palette。您可以将平滑后的数据写入set table的中间文件,然后使用lc调色板绘制此数据。

考虑示例文件test.txt

1
3
2
5
4
6

现在用以下内容绘制:

set table 'tmp.txt'
plot 'test.txt' using 0:1 smooth cspline
unset table

然后使用tmp.txt或类似内容绘制文件lc rgb variable

rgb(r,g,b) = 65536 * int(r) + 256 * int(g) + int(b)
plot 'test.txt' using 0:1 pt 7 t 'original', \
     'tmp.txt' using 1:2:($2 < 4.2 ? rgb(255,0,0) : rgb(0,255,0)) with lines lc rgb var  t 'smoothed'

4.6.4的结果:

enter image description here

请注意,这并不允许您使用原始数据的其他列中包含的某些条件进行着色(例如,在test.txt的第三列中)。这将需要更多的摆弄。