我有一个'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'
?
答案 0 :(得分:2)
我使用分段函数解决了这个问题。只是一个小小的变化:
set palette model HSV functions gray>0 ? 0.666*(1-gray):0, 1, gray>0 ? 1:0
然后将文件的所有'B'
更改为'0'
。我们的想法是为0
使用黑色,并在调色板中使用非零值。谢谢!