我正在尝试使用gnuplot和多色插图并排放置两个数字。 我希望得到的图像是矩形的,所以我使用设置大小2,1。我还设置了设置多色布局1,2选项。但是,生成的图像仅使用可用空间的左侧部分。任何帮助将不胜感激。 谢谢 艾哈迈德
这是生成的图像 http://tinypic.com/r/33mlz04/6
以下是我正在使用的gnuplot命令。
set terminal postscript eps color enhanced set output 'figure.eps'; set size 2,1; set multiplot layout 1, 2 ; set title "Figure 1"; plot "data1.txt" set title "Figure 1"; plot "data2.txt" unset multiplot
虽然我不太确定,经过一些试验和错误我已经解决了它
set terminal postscript eps color enhanced set output 'eps/image.eps'; set size 1,0.5; set multiplot layout 1, 2 ; set title "Figure 1"; set size 0.5,0.5; plot "data/data1.txt" set title "Figure 1"; set size 0.5,0.5; plot "data/data2.txt" unset multiplot
答案 0 :(得分:9)
尝试类似:
set terminal postscript eps color enhanced size 10,5
set output 'figure.eps';
set multiplot layout 1, 2 ;
set title "Figure 1";
plot "data1.txt"
set title "Figure 1";
plot "data2.txt"
unset multiplot
在终端规格线上设置尺寸时,它决定了绘图画布的实际尺寸(在本例中为英寸)。在单独的行上使用set size
时,会以画布大小的相对单位设置绘图的大小。这在旧版本的gnuplot中有所不同。或许可以更好地解释一下,在gnuplot中尝试help set size
。
答案 1 :(得分:4)
为了更好地控制绘图的大小/位置,您可以将set origin
与set size
结合使用来更改每个绘图的位置和大小。最后,set lmargin at <place>
和set rmargin ...
以及tmargin
和bmargin
可以实现最大程度的控制,其中“lrtb”代表左,右,顶部和底部分别。
因此,要获得填充所有可用空间(从左到右)的绘图,您可以:
set multiplot
set lmargin at 0
set rmargin at .5
plot sin(x)
set lmargin at .5
set rmargin at 1
plot cos(x)
unset multiplot
但是,这通常是矫枉过正。通常gnuplot会尝试使边距足够大,以便您的标签等,但设置边距明确禁用它。我建议你选择安迪拉斯的解决方案。
答案 2 :(得分:1)
如果您在使用此方法时遇到问题超过2个数字,请添加&设置原点0,0&#39;在设定尺寸0.5,0.5&#39;之后。 例如,有三个数字:
set terminal postscript eps color enhanced
set output 'eps/image.eps';
set size 1.5,0.5;
set multiplot layout 1, 3 ;
set title "Figure 1";
set size 0.5,0.5;
set origin 0,0
plot "data/data1.txt"
set title "Figure 2";
set size 0.5,0.5;
set origin 0,0
plot "data/data3.txt"
set title "Figure 3";
set size 0.5,0.5;
set origin 0,0
plot "data/data3.txt"
unset multiplot