我创建了一个文件,其中第一列是十进制的颜色线,第二列是y轴。 x轴是行号。
0 0
1 1
2 2
...
然后我运行这个命令
plot "test.dat" u 0:2:1 pt 7 ps 1 lc rgb variable
如图所示,输出仅包含一系列黑色到蓝色。
为什么?
我如何制作其他颜色?
答案 0 :(得分:3)
基本上,您可以选择三个选项linecolor rgb variable
,linecolor variable
和linecolor palette
。您使用哪一个以及如何取决于您的实际要求。
当您使用linecolor rgb variable
时,最后一列中给出的值用作rgb-tuple的整数表示,即最低字节是蓝色部分,第二个最低字节是绿色部分和第三个字节是红色组件。这就是你拥有的。
要使用此选项,您必须在数据文件中包含完整的rgb-integer值,例如
0 13.5 # black
0 17
65280 12 # green (255 * 2**8)
0 19.3
16711680 14.7 # red (255 * 2**16)
65280 10
16711680 22
然后使用
plot 'test.txt' using 0:2:1 linecolor rgb variable pt 7
或者,您可以将红色,绿色和蓝色组件分别保存在一列中,并使用gnuplot函数计算rgb-integer:
0 0 0 13.5 # black
0 0 0 17
0 255 0 12 # green
0 0 0 19.3
255 0 0 14.7 # red (255 * 2**16)
0 255 0 10
255 0 0 22
然后使用
rgb(r,g,b) = 65536 * int(r) + 256 * int(g) + int(b)
plot 'test.txt' using 0:4:(rgb($1,$2,$3)) linecolor rgb variable pt 7
使用linecolor variable
会将最后一列用作linetype
索引。大索引包含在已定义的线型集合中:
set xrange [0:1000]
plot '+' using 1:1:0 linecolor variable pt 7
使用linecolor palette
使用最后一列作为调色板的索引:
set xrange [0:1000]
plot '+' using 1:1:0 linecolor palette pt 7
您使用的变体可能取决于不同颜色的数量和颜色的分布。