[解決済み] 凡例に特定の項目だけを表示する Python Matplotlib
2023-01-15 02:37:54
質問
現在、大量の分類学的データの積み上げ棒グラフをプロットしており、凡例に重要な種のみを表示したいと考えています (~500 のうち ~25 を表示したいです)。これを行うための簡単な方法はありますか?以下は、私が持っているコードです。
labels=['0','20','40','60','80','100','120']
ax1=subj1df.plot(kind='barh', stacked=True,legend=True,cmap='Paired', grid=False)
legend(ncol=2,loc=2, bbox_to_anchor=(1.05, 1), borderaxespad=0.)
label1=['Baseline','8h','24h','48h','96h','120h']
ax1.set_yticklabels(label1, fontdict=None, minor=False)
plt.title('Subject 1 Phyla',fontweight='bold')
plt.savefig('Subject1Phyla.eps', format='eps', dpi=1000)
ax1.set_xticklabels(labels)
編集:1つの凡例だけを表示するためにこれを追加してみましたが、空の凡例を返すだけです。
h, l = ax1.get_legend_handles_labels()
legend(l[4],h[4],ncol=2,loc=2, bbox_to_anchor=(1.05, 1), borderaxespad=0.)
どのように解決するのですか?
私はよく、表示したくない凡例に空のラベルを挿入します。非常に簡単な例を作りましたので、参考にしていただければと思います。あなた自身のデータに合わせてこれを微調整する必要がありますが、必要な要素は揃っているはずです。
import matplotlib.pyplot as plt
import numpy as np
myY=np.random.randint(20, size=10)
myX=np.arange(0,len(myY))
selected=[5,10,15]
fig = plt.figure()
for X,Y in zip(myX,myY):
if Y in selected:
mylabel="label = %s"%(Y); mycolor='blue'
else:
mylabel=None; mycolor='red'
plt.scatter(X,Y,50, color=mycolor, label=mylabel)
plt.legend()
plt.show()
これは以下のようなプロットを作成します。
関連
-
[解決済み] Pythonで一定の大きさの空リストを作成する
-
[解決済み] 特定のキーだけを含むようにdictをフィルタリングしますか?
-
[解決済み] MatplotlibでPyPlotに凡例を追加する最も簡単な方法
-
[解決済み] matplotlibの図の凡例を削除する
-
[解決済み】matplotlibのレジェンドマーカーが一度だけ表示される。
-
[解決済み】matplotlibの凡例を軸の外側に移動させると、図形の枠で切り取られる
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] バブルソートの宿題
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] Djangoで2つの日付の間を選択する
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] PySparkでデータフレームのカラムをString型からDouble型に変更する方法は?