来自矩阵的Gnuplot热图

时间:2015-12-04 09:37:56

标签: gnuplot heatmap

我正在尝试从矩阵中绘制热图。到目前为止,我的代码看起来像这样:

set terminal pdf
set output 'output.pdf'
set autoscale yfix
set autoscale xfix
set palette defined (0 0 0 0.5, 1 0 0 1, 2 0 0.5 1, 3 0 1 1, 4 0.5 1 0.5, 5 1 1 0, 6 1 0.5 0, 7 1 0 0, 8 0.5 0 0)
set pm3d map
splot 'topologyDataActive' matrix notitle

有了这些数据:

100.0 43.48 49.39 0.52 22.26 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 
43.48 100.0 92.35 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 
49.39 92.35 100.0 68.0 91.13 40.35 49.57 98.96 81.57 8.87 22.96 37.91 46.09 1.04 0.0 
0.52 0.0 68.0 100.0 86.26 39.48 0.0 1.04 0.0 0.0 0.0 0.0 0.0 0.0 0.0 
22.26 0.0 91.13 86.26 100.0 95.3 41.57 23.65 12.52 0.0 0.0 0.0 0.0 0.0 0.0 
0.0 0.0 40.35 39.48 95.3 100.0 82.26 95.13 58.43 29.57 66.78 67.83 2.43 22.61 0.0 
0.0 0.0 49.57 0.0 41.57 82.26 100.0 95.48 0.0 0.0 0.0 0.0 0.0 0.0 0.0 
0.0 0.0 98.96 1.04 23.65 95.13 95.48 100.0 82.43 18.61 10.78 0.0 8.35 0.0 0.0 
0.0 0.0 81.57 0.0 12.52 58.43 0.0 82.43 100.0 80.52 80.87 11.3 82.96 24.52 1.04 
0.0 0.0 8.87 0.0 0.0 29.57 0.0 18.61 80.52 100.0 85.91 96.35 97.39 0.0 0.0 
0.0 0.0 22.96 0.0 0.0 66.78 0.0 10.78 80.87 85.91 100.0 85.91 85.91 85.91 0.52 
0.0 0.0 37.91 0.0 0.0 67.83 0.0 0.0 11.3 96.35 85.91 100.0 97.22 99.83 0.17 
0.0 0.0 46.09 0.0 0.0 2.43 0.0 8.35 82.96 97.39 85.91 97.22 100.0 99.3 1.04 
0.0 0.0 1.04 0.0 0.0 22.61 0.0 0.0 24.52 0.0 85.91 99.83 99.3 100.0 0.0 
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.04 0.0 0.52 0.17 1.04 0.0 100.0 

这给了我这张图: enter image description here

到目前为止看起来还不错。但首先,缺少一列一行,我不知道为什么。另外,我用更少的数据测试了它,只有这个:

100.0 43.48 
43.48 100.0

这只给了我一个方格: enter image description here

如果我添加一列和一行零,我得到四个正方形,但颜色是关闭的: enter image description here

现在的问题是,如何获得正确的颜色和正确的列和行行?

1 个答案:

答案 0 :(得分:0)

您只需使用splot扩展with image命令:

splot 'topologyDataActive' matrix with image notitle 

图像绘制样式投影统一采样的数据值网格。