如何从点文件内部向gnuplot中的每个点添加颜色

时间:2014-10-23 23:40:37

标签: gnuplot rgb gnu

阅读thisthis回答我明白改变每一点的颜色是可能的,但是:

  • 必须使用set palette model RGB defined ()来定义它 如果我想要100种不同颜色,我将不得不定义所有颜色

  • 在绘制点之前指定点的颜色。

我的问题是,有没有办法避免上述所有情况,例如修改我的数据文件如下:

x y z R   G   B
1 2 3 0   255 255 
5 6 2 255 0   0

并使用指定的颜色绘制相应的点?

1 个答案:

答案 0 :(得分:4)

在gnuplot 4.6 +上尝试以下内容:

rgb(r,g,b) = 65536 * int(r) + 256 * int(g) + int(b)
plot "data.dat" using 1:2:(rgb($3,$4,$5)) with points lc rgb variable

从手册:

  

1.17.1.3 rgbcolor变量

     

变量告诉程序读取每个的RGB颜色信息   数据文件中的行。这需要相应的附加   using说明符中的列。额外列被解释为a   24位打包RGB三联。如果该值直接在   数据文件最容易将其作为十六进制值(参见   ' rgbcolor&#39)。或者,使用说明符可以包含   表达式,其值为24位RGB颜色,如示例所示   下面。使用 tc rgbcolor变量类似地设置文本颜色。