2013-05-20 64 views
2

我試圖得到一個不錯的傳說爲我的幾個地塊,但是,我不能得到傳說中的文本對齊方式來改變和它做各種奇怪的事情。數學ShowLegend怪異文本對齊

的第一件事是,文本對齊方式似乎被設置到中間時,我希望它是相一致的權利,你可以看到,如果你複製和糊狀下面的代碼:

Needs["PlotLegends`"] 

ShowLegend[ 
Plot[x, {x, 0, 10000}, 
    ImageSize -> {700, 
    Automatic}], {{{Style["\[FilledCircle]", 12, Red], 
    "3He exp 4 'sigma D 3He' 'stripping'"}, {Style["\[EmptySquare]", 
    12, Red], 
    "3He 'sigma 3He' 'breakup'"}, {[email protected]{Blue, Dashed, 
     Line[{{0, 0}, {2, 0}}]}, 
    "3He 'pickup' 'stripping'"}, {[email protected]{Blue, Dotted, 
     Line[{{0, 0}, {2, 0}}]}, 
    "3He 'breakup'"}, {[email protected]{Blue, Line[{{0, 0}, {2, 0}}]}, 
    "3He Total"}}, LegendPosition -> {0.0, 0.2}, 
    LegendSize -> {0.7, 0.3}, LegendShadow -> False, 
    LegendBorder -> None, 
    LegendTextOffset -> {-0.2, 0}}] 

(需要注意的是x的情節僅僅是一個虛擬的情節在這裏,傳說的位置進行了優化,以我的實際地塊)

我的第二個問題是一個傳奇文本的垂直對齊方式。如果我運行這段代碼:

ShowLegend[ 
Plot[x, {x, 0, 10000}, 
    ImageSize -> {700, 
    Automatic}], {{{Style["\[FilledCircle]", 12, Red], 
    "3H exp"}, {[email protected]{Blue, Line[{{0, 0}, {2, 0}}]}, 
    "3H theory"}}, LegendPosition -> {-0.8, 0.3}, 
    LegendSize -> {0.4, 0.3}, LegendShadow -> False, 
    LegendBorder -> None, LegendTextOffset -> {-3.0, 0}}] 

第一個文本描述「3H exp」是各種各樣的搞砸了。它不僅在「3H理論」文本之前橫向排列,它的垂直排列甚至不與紅圈對齊!

我該如何解決這些問題?

+1

http://mathematica.stackexchange.com/ –

回答

0

你的第一個問題可以通過使用LegendTextSpace代替LegendTextOffset,例如可以解決

Needs["PlotLegends`"]; 
ShowLegend[Plot[x, {x, 0, 10000}, ImageSize -> {700, Automatic}], {{ 
    {Style["\[FilledCircle]", 12, Red], "3He exp 4 'sigma D 3He' 'stripping'"}, 
    {Style["\[EmptySquare]", 12, Red], "3He 'sigma 3He' 'breakup'"}, 
    {[email protected]{Blue, Dashed, Line[{{0, 0}, {2, 0}}]}, "3He 'pickup' 'stripping'"}, 
    {[email protected]{Blue, Dotted, Line[{{0, 0}, {2, 0}}]}, "3He 'breakup'"}, 
    {[email protected]{Blue, Line[{{0, 0}, {2, 0}}]}, "3He Total"}}, 
    LegendPosition -> {0.0, 0.2}, 
    LegendSize -> {0.7, 0.3}, 
    LegendShadow -> False, 
    LegendBorder -> None, 
    LegendTextSpace -> 6}] 

對於接下來的問題,這不對似乎是不可避免的,因爲你可以看到,如果你在上面的代碼中設置LegendSize -> {0.7, 1.3}。作爲一種解決辦法 - 保持傳說間距你的願望 - 你可以嘗試以下方法: -

ShowLegend[Plot[x, {x, 0, 10000}, ImageSize -> {700, Automatic}], {{ 
    {Style["\[FilledCircle]", 12, Red], "3H exp"}, 
    {Style["\[FilledCircle]", 12, White], ""}, 
    {[email protected]{Blue, Line[{{0, 0}, {2, 0}}]}, "3H theory"}}, 
    LegendPosition -> {-0.8, 0.3}, 
    LegendSize -> {0.6, 0.15}, 
    LegendShadow -> False, 
    LegendBorder -> None, 
    LegendTextSpace -> 8}] 
+0

非常感謝你的建議LegendTextSpace工作,並與解決方法白圈也看起來不錯,儘管我更喜歡這個不同。用另一個圖例大小可能嗎?如果我讓這個傳說太大,它會切入我的圖表...... – freda42