凡例の下の「赤い塗りつぶされた円」記号の横に「赤い塗りつぶされた四角」記号を追加したいと思います。どうすればこれを達成できますか? 私は、pylab よりも pyplot を使い続けることを好みます。
以下は私が使用しているコードです:
fig = plt.figure()
ax1 = fig.add_axes([0.1,0.29,0.86,0.68])
plt.ylabel('Radial Velocity (km s$^{-1}$)')
plt.plot(time_model, rv_model_primary, 'k-', label = 'Primary')
plt.plot(time_model_sec, rv_model_secondary, 'k--', label = 'Secondary')
plt.plot(time_obs, rv_obs_primary, 'bo', label='XYZ')
plt.plot(time_obs_apg, rv_obs_primary_apg, 'ro', label='This Work')
plt.plot(time_obs_apg_sec, rv_obs_secondary_apg, 'rs')
plt.plot((0.0, 1.0),(0.0,0.0), 'k-.')
plt.legend(loc='upper left', numpoints=1)
これが私が試したことです:
p1=plt.plot(time_model, rv_model_primary, 'k-')
p2=plt.plot(time_model_sec, rv_model_secondary, 'k--')
p3=plt.plot(time_obs, rv_obs_primary, 'bo')
p4=plt.plot(time_obs_apg, rv_obs_primary_apg, 'ro')
p5=plt.plot(time_obs_apg_sec, rv_obs_secondary_apg, 'rs')
plt.legend([p1,p2,p3,(p4,p5)],["Primary", "Secondary", "XYZ", "This Work"])
tcaswell の提案を使用してコードを変更すると、次のようになります。見栄えは良いですが、赤の 2 つを維持しながら、青のシンボルを 1 つだけにしたいと思います。現在、2つあります。
numpoints=1 を一般的な legend() に追加することによる最終的な解決策は機能しました。これが私が望んでいた方法です。ありがとうございます!