GnuPlot中的绝对调色板

GnuPlot中的绝对调色板,gnuplot,Gnuplot,我所做的是在分子中散射原子。使用上面定义的调色板为不同的元素使用不同的颜色,但是如果我在分子中没有这些元素中的一个,Gnuplot只需重新调整整个配色方案,分子看起来就像垃圾 有没有一种方法我可以确定1是一种颜色,2是一种颜色,3是一种颜色等等,而不必重新定义我绘制的每个分子的C范围或调色板?换句话说,这些整数中的任何一个是否存在于绘图中。将maxcolors设置为不同原子的数量。使用定义的设置调色板指定颜色。通过设置cbrange避免重新缩放 以下脚本具有原子类型1到6的颜色,但数据仅包含正确

我所做的是在分子中散射原子。使用上面定义的调色板为不同的元素使用不同的颜色,但是如果我在分子中没有这些元素中的一个,Gnuplot只需重新调整整个配色方案,分子看起来就像垃圾


有没有一种方法我可以确定1是一种颜色,2是一种颜色,3是一种颜色等等,而不必重新定义我绘制的每个分子的C范围或调色板?换句话说,这些整数中的任何一个是否存在于绘图中。

maxcolors
设置为不同原子的数量。使用定义的
设置调色板指定颜色。通过设置
cbrange
避免重新缩放

以下脚本具有原子类型1到6的颜色,但数据仅包含正确显示的原子类型1到4:

set palette maxcolors 6
set palette defined (1 "#ff0000", 2 "#00ff00", 3 "#0000ff", \
                     4 "#ffff00", 5 "#00ffff", 6 "#ff00ff" )
set cbrange [0.5:6.5]


set xrange [0:5]
set yrange [0:2]

plot "-" notitle ls 5 ps 3 lc palette         
1 1 1
2 1 2
3 1 3
4 1 4


可以使用
取消设置色盒
来删除色盒

使用
linecolor变量
将数据文件中的值用作线型:

set linetype 1 lc rgb "#ff0000"
set linetype 2 lc rgb "#00ff00"
set linetype 3 lc rgb "#0000ff"

$data << EOD
1 3 1
2 2 2
3 1 3
EOD
plot $data using 1:2:3 linecolor variable
设置线型1 lc rgb“#ff0000”
设置线型2 lc rgb“#00ff00”
设置线型3 lc rgb“#0000ff”

$data设置maxcolors成功了。即使我忘了发代码,也谢谢你的关注

“调色板定义如上所述”在哪里?!?请显示调色板定义和绘图命令!请不要将答案添加为评论。但答案是正确的。