gnuplot "matrix with image" 具有特定值的固定颜色
gnuplot "matrix with image" with a fixed colour for a certain value
使用 gnuplot,我使用以下命令绘制存储在文件中的矩阵:
set title "Matrix"
set xrange[-0.5:9.5]
set yrange[9.5:-0.5]
set pm3d map
unset key
unset surface
set term postscript eps enhanced color
set out "matrix.eps"
set palette defined (-1 "#A52A2A", 0 "white", 1 "green" )
splot "matcorrel" matrix with image
矩阵有正值和负值,我想将零值始终置于白色,正值置于调色板的绿色区域,负值置于棕色。正值大于负值,因此 gnuplot 不会将零置于白色。
我试过 set cbrange
但我只能修改极端颜色,无法修复中心颜色。
有什么想法吗?非常感谢您
Gnuplot 无法围绕某个值对称地自动缩放。你必须使用例如stats
自己确定cbrange:
set autoscale xfix
set autoscale yfix
unset key
set term postscript eps enhanced color
set out "matrix.eps"
stats "matcorrel" matrix using 3 nooutput
cbmax = (abs(STATS_min) > abs(STATS_max) ? abs(STATS_min) : abs(STATS_max))
set cbrange [-cbmax:cbmax]
set palette defined (-1 "#A52A2A", 0 "white", 1 "green" )
plot "matcorrel" matrix with image
如果您想对正值和负值使用不同的限制,但将零保留为白色,您可以使用
stats "matcorrel" matrix using 3 nooutput
set cbrange [STATS_min:STATS_max]
set palette defined (STATS_min "#A52A2A", 0 "white", STATS_max "green" )
请注意,如果您绘制 with image
,则不需要使用 pm3d。由于您正在绘制热图,因此可以直接使用 plot
。
使用 gnuplot,我使用以下命令绘制存储在文件中的矩阵:
set title "Matrix"
set xrange[-0.5:9.5]
set yrange[9.5:-0.5]
set pm3d map
unset key
unset surface
set term postscript eps enhanced color
set out "matrix.eps"
set palette defined (-1 "#A52A2A", 0 "white", 1 "green" )
splot "matcorrel" matrix with image
矩阵有正值和负值,我想将零值始终置于白色,正值置于调色板的绿色区域,负值置于棕色。正值大于负值,因此 gnuplot 不会将零置于白色。
我试过 set cbrange
但我只能修改极端颜色,无法修复中心颜色。
有什么想法吗?非常感谢您
Gnuplot 无法围绕某个值对称地自动缩放。你必须使用例如stats
自己确定cbrange:
set autoscale xfix
set autoscale yfix
unset key
set term postscript eps enhanced color
set out "matrix.eps"
stats "matcorrel" matrix using 3 nooutput
cbmax = (abs(STATS_min) > abs(STATS_max) ? abs(STATS_min) : abs(STATS_max))
set cbrange [-cbmax:cbmax]
set palette defined (-1 "#A52A2A", 0 "white", 1 "green" )
plot "matcorrel" matrix with image
如果您想对正值和负值使用不同的限制,但将零保留为白色,您可以使用
stats "matcorrel" matrix using 3 nooutput
set cbrange [STATS_min:STATS_max]
set palette defined (STATS_min "#A52A2A", 0 "white", STATS_max "green" )
请注意,如果您绘制 with image
,则不需要使用 pm3d。由于您正在绘制热图,因此可以直接使用 plot
。