我可以用 gnuplot 绘制一维热图吗?
Can I plot 1D heatmap with gnuplot?
我正在尝试使用 gnuplot 中的两列数据(x 值和 y 值)绘制一维热图。使用我的数据绘制的线图是这样的:
折线图:
然而经过一些尝试我只能做到这一点:
我有什么:
而我想要得到的是这样的东西。 (仅示例)
我想要的:
我使用的gnuplot脚本如下:
set view map
set size ratio 0.2
unset ytics
unset key
splot 'test.dat' u 1:(1):2 palette
有人可以帮忙吗?
所以您想使用 y 轴作为假尺寸以增加第二条线图的宽度?
当然,这是例如boxxyerror
可能会出现显式 ymin 和 ymax 错误,这些错误会填充 yrange
.
set xr [-10:10]
set yr [0:1]
xspacing = 0.1
plot '+' u 1:(0.5):(-xspacing):(+xspacing):(0):(1):(sin()) w boxxyerror lc palette
在您的情况下,将 sin(x)
替换为您数据的相应列。对于特殊文件 '+'
,x 宽度不起作用,但在您的情况下,您可能需要使用适当的 xspacing
来避免点之间的白色间隙。
我会这样做:
unset key
set xrange noextend
set offset 0,0,graph .05,graph .05
set palette cubehelix negative
plot 'foo.dat' using 0:3 with lines lc "black", \
'foo.dat' using 0:(70):3 with lines lc palette lw 10
我正在尝试使用 gnuplot 中的两列数据(x 值和 y 值)绘制一维热图。使用我的数据绘制的线图是这样的:
折线图:
然而经过一些尝试我只能做到这一点:
我有什么:
而我想要得到的是这样的东西。 (仅示例)
我想要的:
我使用的gnuplot脚本如下:
set view map
set size ratio 0.2
unset ytics
unset key
splot 'test.dat' u 1:(1):2 palette
有人可以帮忙吗?
所以您想使用 y 轴作为假尺寸以增加第二条线图的宽度?
当然,这是例如boxxyerror
可能会出现显式 ymin 和 ymax 错误,这些错误会填充 yrange
.
set xr [-10:10]
set yr [0:1]
xspacing = 0.1
plot '+' u 1:(0.5):(-xspacing):(+xspacing):(0):(1):(sin()) w boxxyerror lc palette
在您的情况下,将 sin(x)
替换为您数据的相应列。对于特殊文件 '+'
,x 宽度不起作用,但在您的情况下,您可能需要使用适当的 xspacing
来避免点之间的白色间隙。
我会这样做:
unset key
set xrange noextend
set offset 0,0,graph .05,graph .05
set palette cubehelix negative
plot 'foo.dat' using 0:3 with lines lc "black", \
'foo.dat' using 0:(70):3 with lines lc palette lw 10