2

いくつかのプロットで素敵な凡例を取得しようとしていますが、凡例のテキストの配置を変更することができず、あらゆる種類の奇妙なことをしています。

最初に、テキストを右に配置したいのに、テキストの配置が中央に設定されているように見えます。これは、次のコードをコピーして貼り付けるとわかります。

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'"}, {Graphics@{Blue, Dashed, 
      Line[{{0, 0}, {2, 0}}]}, 
    "3He 'pickup' 'stripping'"}, {Graphics@{Blue, Dotted, 
      Line[{{0, 0}, {2, 0}}]}, 
    "3He 'breakup'"}, {Graphics@{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 のプロットはここではダミーのプロットにすぎないことに注意してください。凡例の位置は実際のプロットに合わせて最適化されています)

2 つ目の問題は、凡例テキストの垂直方向の配置です。このコードを実行すると:

ShowLegend[
 Plot[x, {x, 0, 10000}, 
  ImageSize -> {700, 
    Automatic}], {{{Style["\[FilledCircle]", 12, Red], 
    "3H exp"}, {Graphics@{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理論」テキストの前に水平方向に配置されているだけでなく、垂直方向の配置も赤い円と一致していません!

これらの問題を解決するにはどうすればよいですか?

4

1 に答える 1

0

最初の問題は、代わりに を使用することで解決できますLegendTextSpaceLegendTextOffset

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'"},
   {Graphics@{Blue, Dashed, Line[{{0, 0}, {2, 0}}]}, "3He 'pickup' 'stripping'"},
   {Graphics@{Blue, Dotted, Line[{{0, 0}, {2, 0}}]}, "3He 'breakup'"},
   {Graphics@{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], ""},
   {Graphics@{Blue, Line[{{0, 0}, {2, 0}}]}, "3H theory"}},
  LegendPosition -> {-0.8, 0.3},
  LegendSize -> {0.6, 0.15},
  LegendShadow -> False,
  LegendBorder -> None,
  LegendTextSpace -> 8}]
于 2013-05-21T08:23:05.657 に答える