我正在做的是分散绘制分子中的原子。不同颜色的不同颜色与调色板定义如上,但如果我没有分子中的那些元素之一,Gnuplot只是重新调整整个配色方案,分子看起来像垃圾。
有没有办法可以确定1是一种颜色,2是颜色,3是颜色等,而不必为我绘制的每个分子重新定义cbrange或调色板?换句话说,这些整数中是否存在任何一个整数。
答案 0 :(得分:0)
将maxcolors
设置为不同原子的数量。使用set palette defined
指定颜色。通过设置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
可以使用unset colorbox
删除颜色框。
答案 1 :(得分:0)
使用linecolor variable
将数据文件中的值用作linetype:
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
答案 2 :(得分:0)
设置maxcolors就可以了。感谢您查看即使我忘记发布代码!