我有1000 x 4数据,浮点值在[0,100]之间。如何在gnuplot中为此数据创建比较热图?
我已经在Gnuplot上尝试了热图示例的演示版本。但是,我从中找不到答案。
数据如下:
我想在热图中显示各列的比较(排序)。
例如:
答案 0 :(得分:2)
据我了解,您想单独对待各列,而不是将整个事情当作一个矩阵。以下gnuplot命令可以做到这一点:
unset xtics
unset ytics
unset border
set bmargin screen 0.1
set key samplen -1
set style fill solid
set palette defined (0 "forest-green", 1 "goldenrod")
plot for [col=1:4] 'data' \
using (col):0:(0.45):(1.0):col with boxxy \
lc palette title columnhead(col) at first col, graph -0.05
注意:
您提到排序,但不清楚您想要什么。如果想法是在绘制之前对每一列中的值进行排序,我认为这必须通过调用系统命令来完成。在linux上,可以通过将plot命令的第一行替换为以下内容来完成:
plot for [col=1:4] sprintf("<sort -n -k %d data",col) \
etc