graph - gnuplot:热图的默认值(如果没有可用数据)
问题描述
您能告诉我如何指定默认的 cb(或 z)值吗?
我构建了一个 3d 图表 {x,y,z} 或 {x,y,cb},但是对于不同的 x 有不同的 y 范围,因此在图表上可以看到白条(对于热图/颜色框)。我希望看到没有白色条纹,并且在没有数据的情况下,gnuplot 将替换默认值(例如,0),并相应地用适当的颜色为热图绘制字段
解决方案
您有几个选项,具体取决于您使用的绘图模式以及您拥有的数据类型。一般来说,您可以使用颜色分配的两个属性来获得您想要的:
1) 越界值被映射到颜色条的极小值或极大值的颜色。因此,一种选择是分配一个调色板,该调色板在最小值和最大值处具有您想要的“默认”颜色,而与您在该范围的其余部分使用的任何调色板功能无关
2)“缺失”或“非数字”的数据值通常会在像素图像或热图的网格中留下一个洞,让背景颜色显示出来。
标准演示集中有一个演示imageNaN.dem
,显示了这些功能在几个 2D 和 3D 热图命令中的使用。生成的热图的输出splot $matrixdata matrix with image
如下所示。您可以看到固定到颜色条范围的最小值/最大值的极值。
请注意,如果您希望显示除背景之外的其他颜色,您可以在热图表面后面放置一个彩色矩形。
# Define the test data as a named data block
$matrixdata << EOD
0 5 4 3 0
? 2 2 0 1
Junk 1 2 3 5
NaN 0 0 3 0
Inf 3 2 0 3
-Inf 0 1 2 3
EOD
set view map
set datafile missing '?'
unset xtics
set ytics ("0" 0.0, "?" 1.0, "Junk" 2.0, "NaN" 3.0, "Inf" 4.0, "-Inf" 5.0)
set cblabel "Score"
set cbrange [ -2.0 : 7.0 ]
splot $matrixdata matrix using 1:2:(0):3 with image
推荐阅读
- javascript - Excel 公式计算转换为 JavaScript
- apache - 用于镶木地板的 MRUnit
- python-3.x - 你可以重新采样一个没有日期的系列吗?
- autohotkey - 如何获取所选文本的大小(px)和字体粗细?
- javascript - 数组解构和扩展运算符
- python - Cython:将 C 缓冲区内存视图返回给 Python
- html - 使用 object-fit:cover 将图像放在 div 中
- rabbitmq - RabbitMQ 中的密钥感知消费者
- apache2 - 我的 css 文件需要 /index.php 作为 url 的一部分
- python-3.6 - 如何使用 gensim 中提供的 WmdSimilarity 函数以及 numpy.ndarray 数据类型的词嵌入