我使用带有调色板的splot
绘制2D函数:
set zrange [0.5:1.5]
set palette defined ( 0 "green", 1 "black", 2 "red" )
splot "HTSG_PeakPositions_thetaI080.gnuplot" using 3:1:5 title 'Relative Peak Positions' with pm3d
这种方式有效;但是,如果图表偏离此水平,我希望图表在1.0处完全是黑色,并且适当地着色。问题是调色板是相对于绘图中包含的min:max值的范围定义的,而不是绝对值。 zrange
选项似乎不会影响此行为。有没有办法创建绝对映射?
答案 0 :(得分:3)
颜色范围受set cbrange
:
set cbrange [0.5:1.5]
set palette defined ( 0 "green", 1 "black", 2 "red" )
splot "HTSG_PeakPositions_thetaI080.gnuplot" using 3:1:5 title 'Relative Peak Positions' with pm3d
如果您希望某种自动缩放对称为1.0,则可以使用stats
命令在绘图前确定颜色范围:
stats "HTSG_PeakPositions_thetaI080.gnuplot" using 5 nooutput
cb_val = (abs(STATS_min - 1) < abs(STATS_max - 1) ? abs(STATS_max - 1) : abs(STATS_min - 1))
set cbrange [1 - cb_val : 1 + cb_val]