gnuplot边距如何在多点模式下工作?

时间:2015-03-31 18:58:18

标签: plot scripting gnuplot

我对gnuplot边距有点困惑。首先,我不知道这些东西指向的单位。它们是指向画布坐标还是它们是画布坐标的一部分。它们在gnuplot模式和多时隙模式下的行为是否相同?

在多色模式下绘制一些数据时出现问题。我正在密切关注屏幕(wtx终端)。我们只是说我正在搞糟糕的事情 - 我从画布上得到了阴谋,或者是非常小的不可读的情节。

没有边距,第一个图是在画布顶部齐平,所以我自然想把它推下来。

有人可以解释gnuplot边距是如何工作的,以及它们在多时隙模式下的行为是否相同。

1 个答案:

答案 0 :(得分:9)

是的,边距在“正常”绘图模式和多色模式下表现非常相似。基本上,边距可以有三种不同的“模式”:

  1. 自动,这是默认设置。
  2. 将每个边距设置为特定大小,例如set lmargin 2。单位是字符宽度(或tmarginbmargin的字符高度。)
  3. 相对于整个画布设置边框的特定位置,例如set lmargin at screen 0.1,它将左侧绘图边框设置为总画布宽度的10%。
  4. multiplot模式的唯一区别在于,1.和2中边距的引用由layout选项确定的网站给出:

    set multiplot layout 2,2
    

    这将整个画布细分为四个大小相等的矩形。现在,使用

    set lmargin 1
    set rmargin 1
    set tmargin 1
    set bmargin 1
    

    相对于较小的矩形,在每个子图的每一边留下一个字符宽度或高度的边距:

    set multiplot layout 2,2
    set lmargin 0
    set rmargin 0
    set tmargin 0
    set bmargin 0
    set format ''
    plot x
    plot x**2
    plot x**3
    plot x**4
    unset multiplot
    

    enter image description here

    set multiplot layout 2,2
    set lmargin 1
    set rmargin 1
    set tmargin 1
    set bmargin 1
    set format ''
    plot x
    plot x**2
    plot x**3
    plot x**4
    unset multiplot
    

    enter image description here

    如果要设置每个边框的绝对位置,这会变得更加麻烦,因为您必须为每个绘图设置四个边距(layout选项在这种情况下没有任何效果):

    set multiplot
    set lmargin at screen 0.1
    set rmargin at screen 0.47
    set tmargin at screen 0.97
    set bmargin at screen 0.6
    plot x
    ...
    

    Gnuplot第5版提供了一种非常灵活的方法来生成相等的矩形,请参阅我对Removing blank gap in gnuplot multiplot的回答