【发布时间】:2014-10-20 14:36:21
【问题描述】:
我正在使用 multiplot 来绘制四个图。我的代码如下所示
set term postscript eps enhanced color
set pm3d map
set pm3d corners2color c1
set size square
set out 'defect2.eps'
unset colorbox
set colorbox horiz user origin 0.1,0.7 size 0.8,0.02
set cbrange [-1.6:0]
set xtics 25
set ytics 25
set lmargin at screen 0.1
set rmargin at screen 0.9
set multiplot layout 1,4
set xlabel "i" font "Times-italic,20"
set ylabel "j" font "Times-italic,20"
spl 'defect.dat' notitle
unset ylabel
spl 'defect_2.dat' notitle
spl 'defect_3.dat' notitle
spl 'defect_4.dat' notitle
unset multiplot
set out
这会产生以下情节
但是,图片中的个别地块没有正确放置。我看不到第一个图的 ylabel,因为它隐藏在屏幕后面,而这些图之间有很大的空白间隙。有什么方法可以减少这些差距,增加这些图的大小并正确显示标签?
提前致谢。
【问题讨论】:
-
您发布的代码不会生成您显示的图像。而且您前段时间已经问过一个几乎相同的问题:Removing blank gap in gnuplot multiplot。
-
我不确定代码有什么问题。它确实产生了我发布的图像(它从一些数据文件中获取数据)。确实,我前段时间问了一个类似的问题,但是你给了我一个代码来调整特定设置(2,2 布局)中的边距。我真的很想对此进行概括。例如,消除间隙、调整边距、仅更改多图中某些图的大小等等。如果我遗漏了一些明显的东西,请告诉我。谢谢
-
您可以在
set ytics和set ylabel中使用带有一些正x 值的offset选项,以使文本和刻度数更接近图表。例如。set ytics offset 5,0和set ylabel "Some label" offset 8,0。使用特定的数字来获得您想要的效果。 -
对,这个问题是关于 2x2 设置的,但我的答案中的代码非常笼统,您也可以将其应用于您的案例,因为您可以指定列数和布局的行。由于您没有提供任何数据文件来允许重现您的图像,我用一个函数替换了任何数据文件,您得到了一个单独的绘图区域,因为您曾经指定一个绝对左边距和一个绝对右边距 for all 跟随splots(这样
layout选项没有任何效果)。
标签: gnuplot