使用gnuplot生成的图像中有很多空白区域

问题描述 投票:0回答:1

当我使用gnuplot画图时,底部有很多空白,我想让那个空白消失或者至少让它尽可能小。我怎样才能通过修改我的代码来做到这一点?

enter image description here

我的代码如下:

set terminal postscript portrait color enhanced 15
set output "sites_nh3-2-daily_v3.ps"
set multiplot
set size 1, 0.2

cd "../../obs_mod/daily/"

set lmargin 3
set rmargin 1
set tmargin 2
set bmargin 1.5

set datafile missing ''
set datafile missing '-'

set autoscale
set xdata time
set timefmt "%Y%m%d"
set format x "%m/%d"
set xrange["20220601":"20221230"]
set ytics offset 0.5,0

set ytics nomirror
set ytics font ",12"
set ytics offset 0.5,0
#set autoscale y                       # 根据数据动态调整y轴范围
set yrange [0:40]
set ytics 0,8,40
set xtics nomirror
set xtics font ",12"
set xtics offset 0.3,0
set border
set origin 0.0, 0.83
set label "JM-XQ" left at graph 0.03, graph 0.92 font ",12"
unset xtics
set key left at graph 0.72,0.94 font ",12"
set key reverse
plot "JM-xiqu.txt" u 1:($2) w p lc -1 pt 7 ps 0.3 t "obs", "" u 1:3 w l lt 1 lc rgb "red" lw 1 t "mod\\\_base", "" u 1:4 w l lt 1 lc rgb "blue" lw 1 t "mod\\\_agr-NH_3"
unset label

set origin 0.0, 0.7033
set label "SZ-LHS" left at graph 0.03, graph 0.92 font ",12"
unset key
set yrange [0:10]
set ytics 0,2,8
plot "SZ-lianhuashan.txt" u 1:($2) w p lc -1 pt 7 ps 0.3 t "Obs", "" u 1:3 w l lt 1 lc rgb "red" lw 1 t "mod_base", "" u 1:4 w l lt 1 lc rgb "blue" lw 1 t "mod\\\_noNH_3"
unset label

set origin 0.0, 0.576
set label "ZH-MH" left at graph 0.03, graph 0.92 font ",12"
unset key
set yrange [0:20]
set ytics 0,4,16
plot "ZH-meihua.txt" u 1:($2) w p lc -1 pt 7 ps 0.3 t "Obs", "" u 1:3 w l lt 1 lc rgb "red" lw 1 t "mod_base", "" u 1:4 w l lt 1 lc rgb "blue" lw 1 t "mod\\\_noNH_3"
unset label

set origin 0.0, 0.449
set label "ZQ-SHWZ" left at graph 0.03, graph 0.92 font ",12"
unset key
set yrange [0:20]
set ytics 0,4,16
plot "ZQ-sihuiweizheng.txt" u 1:($2) w p lc -1 pt 7 ps 0.3 t "Obs", "" u 1:3 w l lt 1 lc rgb "red" lw 1 t "mod_base", "" u 1:4 w l lt 1 lc rgb "blue" lw 1 t "mod\\\_noNH_3"
unset label

set origin 0.0, 0.322
set label "ZS-ZML" left at graph 0.03, graph 0.92 font ",12"
unset key
set yrange [0:15]
set ytics 0,3,12
set xtics nomirror
set xtics font ",12"
set xtics offset 0.3,0
set arrow from "20220701",0 to "20220701",75 nohead lt 0 lc rgb "gray0"
set arrow from "20220801",0 to "20220801",75 nohead lt 0 lc rgb "gray0"
set arrow from "20220901",0 to "20220901",75 nohead lt 0 lc rgb "gray0"
set arrow from "20221001",0 to "20221001",75 nohead lt 0 lc rgb "gray0"
set arrow from "20221101",0 to "20221101",75 nohead lt 0 lc rgb "gray0"
set arrow from "20221201",0 to "20221201",75 nohead lt 0 lc rgb "gray0"
plot "ZS-zimaling.txt" u 1:($2) w p lc -1 pt 7 ps 0.3 t "Obs", "" u 1:3 w l lt 1 lc rgb "red" lw 1 t "mod_base", "" u 1:4 w l lt 1 lc rgb "blue" lw 1 t "mod\\\_noNH_3"
unset label

代码中应该如何设置,使得生成的图片自动不显示空白区域?

gnuplot
1个回答
0
投票

您正在向程序明确指示如何设置每个图的下限:

set origin 0.0, 0.83
set origin 0.0, 0.7033
set origin 0.0, 0.576
set origin 0.0, 0.449
set origin 0.0, 0.322

如果您想将所有内容向下移动,则必须为 y 偏移量提供较小的数字。

另一方面,如果您询问如何在每个五分之一(来自

set size 1.0, 0.2
)子图的下部保留更少的垂直空间,那么也许您想将命令
set bmargin 1.5
替换为
set bmargin 0
。这将减少每个子图底部大约 1.5 个字符高度的空间。

© www.soinside.com 2019 - 2024. All rights reserved.