使用gnuplot绘制不同颜色的矩阵非数字点

时间:2013-07-02 17:02:52

标签: matrix gnuplot

我有一个'matrix.dat'文件,如下所示:

  

10584 179888 115816 16768 91440 79928 50656 23624 21712 51776 89670 21815 13536 18984 11997 16221 10336 432 632 2024 - - - - - - - - - - - - - 408 - - - - - - - - - - - - - - - B - - - B - - B - - - - - - - - - - - - 3672 - - 4480 - - - - - - - - 17600 11632 1008 4384 144 - 216 72 - - - - - 768 336 - 384 - - 408 5312 - - - 72 3648 - - - - - - - - - - - - 1088 - - 224 - - - - - - - - - - - 1696 2040 2664 216 - B 344 - - - - - 336 296 248 88 88 616 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2840 - - 128 16 - 112 - - - - - 1904 2776 24 B

我想使用调色板绘制数字,使用白色绘制' - ',使用黑色绘制'B' 在gnuplot中,我使用log2 palette(蓝色 - >青色 - >绿色 - >橙色 - >红色)并将'-'设置为缺失数据:

set palette model HSV functions 0.666*(1-gray), 1, 1
set logscale cb 2
set datafile missing "-"
plot 'matrix.dat' matrix with image

现在我只能用所需颜色绘制数字和'-'。如何以黑色绘制'B'

1 个答案:

答案 0 :(得分:2)

我使用分段函数解决了这个问题。只是一个小小的变化:

set palette model HSV functions gray>0 ? 0.666*(1-gray):0, 1, gray>0 ? 1:0

然后将文件的所有'B'更改为'0'。我们的想法是为0使用黑色,并在调色板中使用非零值。谢谢!