Matrix 在gnuplot中生成热图表

Matrix 在gnuplot中生成热图表,matrix,gnuplot,heatmap,Matrix,Gnuplot,Heatmap,我试图用gnuplot生成一个热图,但是热图中的每个条目都有两个不同的信息。虽然热图将值显示为颜色,但我希望热图中的每个块也显示文本信息 以下脚本创建了我心目中的一半内容: set term postscript eps color solid set output '1.eps' set title "Heat Map generated from a file containing Z values only" unset key set tic scale 0 set border

我试图用gnuplot生成一个热图,但是热图中的每个条目都有两个不同的信息。虽然热图将值显示为颜色,但我希望热图中的每个块也显示文本信息

以下脚本创建了我心目中的一半内容:

set term postscript eps color solid
set output '1.eps'
set title "Heat Map generated from a file containing Z values only"    
unset key
set tic scale 0
set border linewidth 2
set palette rgbformula -7,2,-3
unset cbtics
unset colorbox
unset xtics
set x2tics ("A" 0, "B" 1, "C" 2, "D" 3, "E" 4)
set ytics ("N0" 0, "N1" 1, "N2" 2, "N3" 3, "N4" 4)
set style line 102 lc rgb'#101010' lt 0 lw 4
set grid front ls 102
set datafile separator ","
plot 'matrix.txt' matrix with image, "" matrix using 1:2:(sprintf('%.2f', $3)) with labels font ',12' offset 0,1.2
set datafile separator
数据文件matrix.txt包含以下信息:

7 B, 5 B, 4 D, 3 B, 1 D
2 B, 2 A, 2 D, 0 C, 0 A
3 B, 0 A, 0 E, 0 E, 1 C
4 C, 0 A, 0 B, 0 E, 2 C
5 D, 0 A, 1 A, 2 A, 4 A
脚本可以生成以下图形:

我希望能够在每个条目中添加文本信息,作为矩阵条目的第二部分(网格线下)

我想知道你们有什么建议。
谢谢

似乎您无法将
stringcolumn
(或
strcol
)与
matrix
一起使用,以获得包含在相应矩阵元素中的完整字符串。作为解决方法,您必须迭代所有列,并使用标签分别绘制它们:

set title "Heat Map generated from a file containing Z values only"    
unset key
set tic scale 0
set border linewidth 2
set palette rgbformula -7,2,-3
unset cbtics
unset colorbox
unset xtics
set x2tics ("A" 0, "B" 1, "C" 2, "D" 3, "E" 4)
set ytics ("N0" 0, "N1" 1, "N2" 2, "N3" 3, "N4" 4)
set style line 102 lc rgb'#101010' lt 0 lw 4
set grid front ls 102
set datafile separator ","
plot 'matrix.txt' matrix with image, \
     for [i=1:5] '' using 0:(i-1):i with labels font ',12' offset 0,1.2

$3
只包含数值,使用带有标签的
使用1:2:(strcol(3))
。很高兴得到一些反馈:您的问题已经解决了,还是仍然没有解决?如果我在代码中将
s_printf
替换为
strcoll
,gnuplot将返回一个错误:
stringcolumn()从无效上下文调用。
如果我仅使用以下行:
使用图像绘制“矩阵”矩阵,“
使用1:2的矩阵:(strcol(3))
gnuplot返回:
使用此样式的规格过多
在上一个命令中,您缺少带标签的
@Christoph我添加了带标签的
。我运行了以下命令:
plot'matrix'matrix with image”,“matrix use 1:2:(strcol(3))with labels
,这导致了第一个错误:
stringcolumn()从无效上下文调用