我正在尝试绘制热图'并且'该热图的切割'使用底部数据在特定位置。我想使用gnuplot中的every command
来做到这一点,但我失败了。 every ::13::17:
应该将数据从第13行绘制到第17行。我从gnuplot收到错误。
reset
set terminal pngcairo
set output 'stack.png'
set palette defined (0 "white", 1 "red")
unset key
set style fill solid
#----------------- 2D plot ---------------
plot 'stack.dat' using 1:2:(log10($3)) with boxes linecolor palette notitle
# ---- PLot a section of the 2D plot ----------
set output 'oups.png'
plot 'stack.dat' using 2:(log10($3)) every ::13::17: with lines notitle
' stack.dat'是数据文件名
1 1 0.081051938235759735
1 2 0.039051856845617294
1 3 0.017708625644445419
1 4 0.053782138973474503
1 5 0.069525197148323059
2 1 0.046054631471633911
2 2 0.005992549471557140
2 3 0.010819308459758759
2 4 0.001308800885453820
2 5 0.032604649662971497
3 1 0.078480839729309082
3 2 0.000435109512181953
3 3 0.073167815804481506
3 4 0.052882101386785507
3 5 0.016808584332466125
4 1 0.060769289731979370
4 2 0.028200428932905197
4 3 0.031424820423126221
4 4 0.052520859986543655
4 5 0.078694045543670654
5 1 0.029850590974092484
5 2 0.027807384729385376
5 3 0.036195535212755203
5 4 0.026242787018418312
5 5 0.048620097339153290
我怎样才能使它有效? 是否有更好的方法来绘制热图的各个部分?
答案 0 :(得分:1)
简短的回答是使用
plot' stack.dat'使用2:(log10($ 3))每个::: 2 :: 2使用行标题
当您有多个记录块时,数据文件中的行与记录之间存在区别。因此,为了指定数据序列,您需要block
和record
索引。查看文档以获取更多信息(请参阅Every
):http://gnuplot.sourceforge.net/docs_5.2/Gnuplot_5.2.pdf