2013-08-22 25 views
5

我在水平放置時對不同按鍵標題的對齊有困難,顯然是由於標題中的長度不同。gnuplot - 對齊不同長度的水平按鍵標題

有兩個短小標題(第一和第四個)和兩個較長的標題(第二和第三個)它留下了最後兩個標題之間的較大差距(大概是因爲它將它們之間的差距全部設置爲相同的最大字符串長度)。我已經搜查,但沒有找到辦法改變這一點。

一個簡化的例子如下所示。任何建議或幫助將不勝感激。

set terminal postscript eps size 5.12,2.3 enhanced color "Helvetica" 12 
set output 'example.eps' 

set title 'Difficulty of Long and Short Title usage in Horizontal Keys' font "Helvetica, 20" 

set key inside bottom center horizontal font "Helvetica, 20" width 1.8 

set ylabel 'ylabel' font "Helvetica, 20" 
set xlabel 'xlabel' font "Helvetica, 20" 
set lmargin screen 0.10 
set rmargin screen 0.95 
set yrange [-1.5:1.5] 

plot sin(x) title 'short', \ 
cos(x) title 'long title 1', \ 
-0.5 title 'long title 2', \ 
0.5 title 'short' w l ls 4 

結果是: enter image description here

+0

我沒有看到用現有的'set key'選項來解決這個問題的方法。你有一個長和一個短標題之間的依賴關係嗎?也許它會出現一個'2x2'鍵('set key maxcols 2'),左邊的兩列都有短鍵? – Christoph

+0

非常感謝您的回覆。不幸的是,我非常熱衷於在實際情節中保持標題的順序,並且希望將它們保持在一行中。這顯然是一個美學問題,所以不是世界的盡頭,但很高興知道它是否可行。有沒有解決方法? – user2707058

回答

3

一個可能的解決方法是將產生的前三個圖形,最後一個與兩個不同的情節multiplot模式命令:

set terminal postscript eps size 5.12,2.3 enhanced color "Helvetica" 12 
set output 'example.eps' 

set title 'Difficulty of Long and Short Title usage in Horizontal Keys' font "Helvetica, 20" 

set ylabel 'ylabel' font "Helvetica, 20" 
set xlabel 'xlabel' font "Helvetica, 20" 
set lmargin screen 0.10 
set rmargin screen 0.95 
set yrange [-1.5:1.5] 

set bmargin screen 0.15 
set tmargin screen 0.9 

set multiplot 
set key horizontal font "Helvetica, 20" width 1.8 at graph 0.4, graph 0.1 center maxrows 1 
plot sin(x) title 'short', \ 
    cos(x) title 'long title 1', \ 
    -0.5 title 'long title 2' 

unset title 
unset xlabel 
unset ylabel 
unset border 
unset tics 
set key horizontal font "Helvetica, 20" width 1.8 at graph 0.84, graph 0.1 center maxrows 1 
plot 0.5 title 'short' w l ls 4 
unset multiplot 

然而,這需要一些調整:

  • 在第二個plot之前,您必須刪除標題,標籤,抽搐和邊界,否則該圖可能會因爲不同的抗鋸齒而顯得鋸齒狀
  • 要s你還必須設置火焰利潤率固定tmarginbmargin
  • 必須放置鑰匙手動

上面的代碼爲您提供: enter image description here

現在,你必須,如果它的價值判斷。

-2

您可以使用svg終端,並通過對Inkscape中打開SVG文件進行調節。

+0

或使用PNG終端,並使用光柵圖形編輯器,或後附,並編輯源...你在開玩笑吧? – DanielTuzes

+0

「你**是開玩笑吧?」什麼?我在兩年多前寫了這個答案!你在說什麼? –