matplotlib で作成された凡例を含む単純なプロットでは、次のようになります。凡例のラベルの左側にあるマーカーが 2 回表示されます。誰でも問題を回避する理由と方法を知ることができますか? 私のコマンドは次のとおりです。
pl.plot(x1,x2,'g^', label='regional')
pl.plot(y1,y2,'bo', label='local')
pl.legend( loc='upper left' )
ありがとうございました
matplotlib で作成された凡例を含む単純なプロットでは、次のようになります。凡例のラベルの左側にあるマーカーが 2 回表示されます。誰でも問題を回避する理由と方法を知ることができますか? 私のコマンドは次のとおりです。
pl.plot(x1,x2,'g^', label='regional')
pl.plot(y1,y2,'bo', label='local')
pl.legend( loc='upper left' )
ありがとうございました
numpoints
次のキーワードを使用して、凡例に表示されるマーカーの数を変更できます。
import matplotlib.pyplot as plt
import numpy as np
x1 = y1 = np.linspace(0, 10, 100)
x2 = np.sin(x1)
y2 = np.cos(y1)
plt.plot(x1,x2,'g--^', label='regional')
plt.plot(y1,y2,'b-o', label='local')
plt.legend( loc='upper left', numpoints = 1 )
plt.show()
マーカーが (デフォルトで) 2 回表示される理由は、matplotlib がマーカー間の線スタイル コネクタを表示しようとしているからだと思います。コネクタが無いとちょっと変な感じです。
プロットに実線と破線がある場合、
plt.plot(x1,x2,'g--^', label='regional')
plt.plot(y1,y2,'b-o', label='local')
凡例は次のようになります。
これで、凡例 (およびグラフ) のマーカー間の線スタイルの効果を確認できます。
凡例ハンドルがまったく必要ない場合は、次を使用できます
plt.legend(..., handlelength=0)
例えば、
import numpy as np
import matplotlib.pyplot as plt
x1 = y1 = np.linspace(0, 10, 100)
x2 = np.sin(x1)
y2 = np.cos(y1)
plt.plot(x1,x2,'g--^', label='regional')
plt.plot(y1,y2,'b-o', label='local')
plt.legend(loc='best', numpoints=1, handlelength=0)
plt.show()
あなたが使用することができます
plt.legend(loc='best', numpoints=1, handlelength=0,
markerscale=0, handletextpad=0)
凡例マーカーも削除します。