我正在尝试使用smooth csplines命令在GNUplot中创建一个图。数据文件可以有许多不同的部分来绘制(不是常数),我喜欢使用lc变量选项来区分它们的不同颜色。我错了是不支持lc变量选项吗?
答案 0 :(得分:1)
正确,您不能在单个绘图命令中混合使用smooth
和lc 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的结果:
请注意,这并不允许您使用原始数据的其他列中包含的某些条件进行着色(例如,在test.txt
的第三列中)。这将需要更多的摆弄。