[解決済み] matplotlib の凡例の項目の順番はどのように決まるのですか?
2023-04-19 15:16:06
質問
凡例の項目を並べ替えなければならないのですが、その必要はないと思います。私は試しています。
from pylab import *
clf()
ax=gca()
ht=ax.add_patch(Rectangle((1,1),1,1,color='r',label='Top',alpha=.1))
h1=ax.bar(1,2,label='Middle')
hb=ax.add_patch(Rectangle((1,1),1,1,color='k',label='Bottom',alpha=.11))
legend()
show()
となってしまい、結局BottomがMiddleの上に来てしまいます。 どうすれば正しい順序になるのでしょうか?作成順では決まらないのでしょうか?
更新:以下のようにすると、強制的に順番を変更することができます。これが一番シンプルな方法かもしれませんし、厄介な気がします。 問題は、元の順番を決めるのは何かということです。
hh=[ht,h1,hb]
legend([ht,h1.patches[0],hb],[H.get_label() for H in hh])
どのように解決するのですか?
順序は決定論的ですが、プライベートガットの一部なので、いつでも変更することができます。
ここで
(この
self.*
要素は追加されたアーティストのリストです。したがって、ハンドルリストは、まずタイプによって、次に追加された順序でソートされています)。
凡例の要素の順序を明示的に制御したい場合は、編集で行ったように、ハンドラとラベルのリストを組み立ててください。
関連
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] Matplotlibでプロットを表示するのではなく、画像ファイルに保存する。
-
[解決済み] Matplotlib で凡例をプロットの外側に配置する方法
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] PythonでのAWS Lambdaのインポートモジュールエラー
-
[解決済み] バブルソートの宿題
-
[解決済み] Alembicアップグレードスクリプトでインサートやアップデートを実行するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 2つの線分が交差しているかどうかを確認するにはどうすればよいですか?
-
[解決済み] SQLAlchemy: セッションの作成と再利用
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
-
[解決済み] Jupyter (IPython)ノートブックのセッションをpickleして保存する方法
-
[解決済み] Python Logging でログメッセージが2回表示される件
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?