gpt4 book ai didi

gnuplot - 缩短多图中图之间的距离

转载 作者:行者123 更新时间:2023-12-02 09:10:14 25 4
gpt4 key购买 nike

我必须绘制一个包含两列和五行的多重图。我已经绘制了该图,但我发现图之间的距离很大,我想减小它们。我使用了网站 ( http://www.gnuplot.info/demo_canvas/layout.html ) 中的最后一个示例编码(模板)。我尝试调整顶部和底部边距参数。如果我使用较小的值,x 轴的标签就会消失,并且图之间的距离会缩短。所以我必须使用大值。我只是想知道有没有其他方法可以让情节彼此更接近?我已经给出了下面的图的编码供您查看。我很高兴能就这个问题获得一些见解。提前致谢

#!/usr/bin/gnuplot
# SET TERMINAL
set terminal postscript color enhanced "Arial" 10 #dashed lw 1 "Helvetica" 14
set output "plot-distribution-isoMalto-thermo.ps"

# SET MACRO
set macro
labelFONT="font 'Arial,20'"
scaleFONT="font 'Arial,14'"
graph="using 1:2"
axislabelFONT="font 'Arial,18' "
#main_titleFONT="font 'times,14'"
graphLabel="at 120,9000 font 'Arial,20' "
position_orienation="at -50,18000 rotate right"

color="linecolor rgb 'black' "
layer1=" w l lt 1 lw 3 lc rgb 'black'"
layer3=" w l lt 3 lw 3 lc rgb 'red' "
layer2=" w l lt 2 lw 3 lc rgb 'green'"
layer4=" w l lt 4 lw 3 lc rgb 'blue'"


# SET MARGINS
set tmargin 0.5
set bmargin 4.0
set lmargin 15
set rmargin 3


# SET RANGE
set xrange [0:180]
set yrange [0:12000]
set xtics nomirror 0, 60, 180 @scaleFONT
set ytics 0, 3000, 12000 @scaleFONT
set format x ""

# MULTIPLOT START
set multiplot layout 5, 2 #title "Multiplot layout 5, 2"
set nokey

# PLOTTING STARTS
#plot1
#set title "Plot 1"
set xtics nomirror
set label 1 "(a)" @graphLabel
plot "angle_output-thermo-malto-L1.dat" @layer1,\
"angle_output-thermo-malto-L3.dat" @layer3
#plot2
#set title "Plot 2"
set label 1 "(b)" @graphLabel
plot "angle_output-thermo-malto-L2.dat" @layer2 ,\
"angle_output-thermo-malto-L4.dat" @layer4


#plot3
#set title "Plot 3"
set label 1 "(c)" @graphLabel
plot "angle_output-thermo-bcmChain1-L1.dat" @layer1 ,\
"angle_output-thermo-bcmChain1-L3.dat" @layer3
#plot4
#set title "Plot 4"
set label 1 "(d)" @graphLabel
plot "angle_output-thermo-bcmChain1-L2.dat" @layer2 ,\
"angle_output-thermo-bcmChain1-L4.dat" @layer4




#plot5
#set title "Plot 5"
set label 1 "(e)" @graphLabel
set label 2 "Distribution / N" @position_orienation @labelFONT
plot "angle_output-thermo-bcmChain2-L1.dat" @layer1 ,\
"angle_output-thermo-bcmChain2-L3.dat" @layer3
#plot6
#set title "Plot 6"
set nolabel
set label 1 "(f)" @graphLabel
plot "angle_output-thermo-bcmChain2-L2.dat" @layer2 ,\
"angle_output-thermo-bcmChain2-L4.dat" @layer4

#plot7
#set title "Plot 7"
set label 1 "(g)" @graphLabel
plot "angle_output-thermo-cello-L1.dat" @layer1 ,\
"angle_output-thermo-cello-L3.dat" @layer3
#plot8
#set title "Plot 8"
set label 1 "(h)" @graphLabel
plot "angle_output-thermo-cello-L2.dat" @layer2 ,\
"angle_output-thermo-cello-L4.dat" @layer4




# for plot 9 and 10


unset yrange
set yrange [0:16000]
set ytics 0, 4000, 16000
set key

#plot9
#set title "Plot 9"
set label 1 "(i)" @graphLabel
set format x
plot "angle_output-thermo-isomalto-L1.dat" @layer1 title "layer1",\
"angle_output-thermo-isomalto-L3.dat" @layer3 title "layer3"

#plot10
#set title "Plot 10"
set label 1 "(j)" @graphLabel
set label "Angle in {/Symbol q} / deg" at -90,-8500 @labelFONT
set format x
plot "angle_output-thermo-isomalto-L2.dat" @layer2 title "layer2",\
"angle_output-thermo-isomalto-L4.dat" @layer4 title "layer4"


# END MULTIPLOT
unset multiplot
#reset
#pause -1

最佳答案

我知道这是一个老问题,但也许可以用 set size 做一些事情增加每个图的大小(可选地,每个图可能需要 set origin)。否则,最好的选择是使用 set lmargin , set rmargin , set bmarginset tmargin .

您可以使用set ?margin at ...设置相对于屏幕坐标的边距(而不是您所放置的形式中的字符坐标。这将允许您将绘图准确地放置在您想要的位置。请参阅 http://gnuplot.sourceforge.net/demo/margins.html

关于gnuplot - 缩短多图中图之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9187651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com