2015-03-31 79 views
4

我對gnuplot邊距有點困惑。首先我不知道這些東西指向什麼單位。它們是指向畫布座標還是它們是畫布座標的一小部分?它們在gnuplot模式和多槽模式下表現相同嗎?gnuplot邊距如何在多槽模式下工作?

當我在多槽模式下繪製一些數據時出現問題。我正在繪製屏幕(wtx終端)。讓我們只說我糟糕的東西 - 我從畫布上得到情節,或者很小的不可讀的情節。

沒有邊距,第一個繪圖與畫布頂部齊平,所以很自然地我想把它壓低一點。

有人可以解釋gnuplot邊緣如何工作,如果他們在多槽模式下表現相同。

回答

5

是的,在「正常」繪圖模式和多槽模式下,邊距表現非常相似。基本上,邊距可以有三種不同的「模式」:

  1. 自動,這是默認值。
  2. 將每個頁邊距設置爲特定尺寸,如set lmargin 2。單位是字符寬度(或字符高度tmarginbmargin)。
  3. 設置邊框相對於整個畫布的特定位置,如set lmargin at screen 0.1,它將左邊的繪圖邊框設置爲總畫布寬度的10%。

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

如果你想設置每個b的絕對位置爲了這變得更加麻煩,因爲你必須設置4利潤率爲每個曲線(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

+0

這是一個非常全面的答案,我非常感激。無論您是在屏幕上使用set lmargin還是set lmargin,這些單位都會有所不同,這是造成混淆的原因,現在已經澄清 – Xofo 2015-03-31 22:20:47