5

複数の行を含むプロットがあり、それぞれに個別にラベルが付けられています。個々の行を識別できるように、プロットに凡例を入れたいと思います。ラベルとマーカーのデフォルトの順序は次のようになります。

マーカー : ラベル
マーカー : ラベル
マーカー : ラベル
... など。

さまざまな審美的な理由から、凡例の列数を行 (およびラベル) の数と同じにしたいのですが、ncolオプションを使用して変更します。したがって、現在、私の凡例は次のようになっています。

マーカー : ラベル マーカー : ラベル マーカー : ラベル

ただし、この配置でマーカーのにラベルを配置すると、はるかに明確になります。私が欲しいのは次のようなものです:

ラベル ラベル ラベル
マーカー マーカー マーカー

そのような伝説を達成するための「クイックフィックス」方法があるかどうか疑問に思っています。

4

1 に答える 1

0

legend.get_texts()最終的に、これについて行った方法は、各テキスト オブジェクトを反復処理するために、凡例内のテキスト項目の位置を手動で構成することでした。いくつかのダミーコード:

for txt in legend.get_texts():
    txt.set_ha("center") # horizontal alignment of text item
    txt.set_x(-5) # x-position
    txt.set_y(10) # y-position

y 位置を大きくすると、ラベルが上に (つまり、マーカーの上に) 押し上げられます。同様に、x 位置を小さくすることで、マーカーの上で位置合わせを行うことができます。

于 2016-05-20T17:10:57.567 に答える