Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从点文件内部向gnuplot中的每个点添加颜色_Gnuplot_Rgb_Gnu - Fatal编程技术网

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

如何从点文件内部向gnuplot中的每个点添加颜色,gnuplot,rgb,gnu,Gnuplot,Rgb,Gnu,阅读和回答我明白改变每个点的颜色是可能的,但是: 必须使用设置调色板模型RGB defined()来定义它,因此 如果我想要100种不同的颜色,我必须定义所有的颜色 点的颜色在绘制之前指定 我的问题是,是否有一种方法可以避免上述所有情况,例如按如下方式修改我的数据文件: x y z R G B 1 2 3 0 255 255 5 6 2 255 0 0 并使用指定的颜色绘制相应的点?在gnuplot 4.6+上尝试以下操作: rgb(r,g,b) = 65536 * in

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

  • 必须使用
    设置调色板模型RGB defined()
    来定义它,因此 如果我想要100种不同的颜色,我必须定义所有的颜色

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

我的问题是,是否有一种方法可以避免上述所有情况,例如按如下方式修改我的数据文件:

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

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

在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 RGB颜色变量

变量告诉程序读取每个对象的RGB颜色信息 数据文件中的行。这需要相应的额外费用 列中使用说明符。额外的列被解释为 24位压缩RGB三元组。如果该值直接在 数据文件最容易将其作为十六进制值(请参见 “rgbcolor”)。或者,使用说明符可以包含 计算为24位RGB颜色的表达式,如示例所示 在下面使用tc rgbcolor变量类似地设置文本颜色


如果你能这么客气,把你的答案延伸到另一件事上,我画的不是点而是线,如果我把
改为
lp
会发生什么呢?线的颜色与我开始时的点的颜色相同,有没有办法让线的颜色不同/一种从开始到结束的颜色。一个我能读到的资料也不错。不幸的是,这个问题没有直接的解决办法;每条线段将用一种颜色绘制;渐变需要一种间接的、复杂的方法。请参阅和。另请参阅我对的回答。