gnuplot:如何将两个数字并排放置

gnuplot:如何将两个数字并排放置,gnuplot,Gnuplot,我尝试使用gnuplot和multiplot并排放置两个数字。 我希望生成的图像是矩形的,所以我使用设置大小2,1。我还设置了“设置多点布局1,2”选项。但是,生成的图像仅使用可用空间的左侧部分。任何帮助都将不胜感激。 谢谢 艾哈迈特 这是生成的图像 下面是我正在使用的gnuplot命令 set terminal postscript eps color enhanced set output 'figure.eps'; set size 2,1; set multiplot layout

我尝试使用gnuplot和multiplot并排放置两个数字。 我希望生成的图像是矩形的,所以我使用设置大小2,1。我还设置了“设置多点布局1,2”选项。但是,生成的图像仅使用可用空间的左侧部分。任何帮助都将不胜感激。 谢谢 艾哈迈特

这是生成的图像

下面是我正在使用的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 设置终端postscript eps颜色增强 设置输出“figure.eps”; 设置大小2,1; 设置多点布局1、2; 设置标题“图1”; 绘图“data1.txt” 设置标题“图1”; 绘图“data2.txt” 未设置多点 虽然我不是很确定,但经过反复试验,我已经解决了这个问题

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 设置终端postscript eps颜色增强 设置输出“eps/image.eps”; 设定尺寸1,0.5; 设置多点布局1、2; 设置标题“图1”; 设置大小为0.5,0.5; 绘图“data/data1.txt” 设置标题“图1”; 设置大小为0.5,0.5; 绘图“data/data2.txt” 未设置多点 尝试以下方法:

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

在终端规格行上设置大小时,这将确定打印画布的实际大小(在本例中以英寸为单位)。在单独的行上使用
设置大小时,将以画布大小的相对单位设置绘图的大小。这与gnuplot的旧版本不同。为了得到更好的解释,请尝试在gnuplot中使用
帮助设置大小。

为了更好地控制绘图的大小/位置,您可以使用
设置原点
设置大小
一起更改每个绘图的位置和大小。最后,对于
tmargin
bmargin
,可以使用
set lmargin at
(和
set rmargin…
)等实现最大控制,其中“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会尝试将边距设置为足以容纳标签等内容,但设置边距会显式禁用该功能。我建议您使用andyras的解决方案。

如果您在使用此方法时遇到超过两位数的问题,请在“设置大小0.5,0.5”之后添加“设置原点0,0”。 例如,对于三个数字:

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

谢谢安德拉斯,虽然你的建议不起作用,但它让我尝试了更多的可能性,我设法解决了这个问题。我把解决方案放在原来的帖子下面。我很高兴你解决了你的问题。我发布的解决方案适合我——您使用的是哪个版本的gnuplot?很好地指出了“画布”的大小和单个绘图的大小之间的差异。(+1)欢迎来到StackOverflow!作为一种风格,在gnuplot中不需要尾随分号(就像在C中一样)。。。虽然它们不会造成伤害,但它们往往会使脚本的可读性降低一点(IMHO)。此外,如果您发现@andyras的解决方案很有用,请随意投票,甚至将其标记为可接受的解决方案。