我的数据文件中有3个'列',用于指定红色,绿色和蓝色部分:
red green blue
0.263 0.914 0.086
0.263 0.914 0.086
0.263 0.914 0.086
1.000 0.571 0.429
1.000 0.571 0.429
如何使用这些来绘制由这些值绘制的其他列? 显然,以下方法仅适用于带有splot的3D绘图:
rgb(r,g,b)=<some function code>
plot './data.csv' u 1:2:(rgb($8,$9,$10)) w l rgb variable
我看不出如何使用这些值为绘图着色。
答案 0 :(得分:3)
看一下gnuplot demo rgb_variable.dem
。相应的数据文件如下所示:
0 0 0 0x000000
255 0 0 0xff0000
255 255 0 0xffff00
255 255 255 0xffffff
0 255 255 0x00ffff
255 0 255 0xff00ff
0 255 0 0x00ff00
#<snip>
#...
#</snip>
请注意,在最后一个示例之前不会使用第4列 - 即这是几乎你拥有的内容。你将有一个额外的变换来将你的颜色从[0-1]范围变为范围[0-255],但这很容易(仅乘以255):
scale(x)=x*255
rgb(r,g,b) = int(scale(r))*65536 + int(scale(g))*256 + int(scale(b))
plot './data.csv' u 1:2:(rgb($8,$9,$10)) with lines linecolor rgb variable
# ^^^^^^^^^ don't forget this:-)