When I use gnuplot to draw a picture, there is a lot of blank space in the bottom, I would like to make that space disappear or at least make it as minimum as possible. How can I do it by modifying my code?
My code is as follows:
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
How should I set it in the code so that the generated picture will automatically not show the blank area?


You are giving the program explicit instructions how to place the lower limit of each plot:
If you want to move everything down, you will have to give smaller numbers for the y offsets.
On the other hand, if you are asking how to reserve less vertical space at the lower part of each one-fifth (from
set size 1.0, 0.2) sub-plot, then maybe you want to replace the commandset bmargin 1.5withset bmargin 0. That will reduce appoximately 1.5 character heights of space at the bottom of each subplot.