...これはmatplotlibのを制限することができ、しかし、私は間違って証明されることを望む(あまりにも多くのオーバーヘッドなしで)これを行う方法があることを疑う私はこれが働くかもしれないと思います:
import matplotlib.pyplot as plt
import numpy as np
from pandas import DataFrame
df = DataFrame(np.random.randn(5, 3), columns=['A', 'B', 'C'])
fig, ax = plt.subplots()
ax3 = ax.twinx()
rspine = ax3.spines['right']
rspine.set_position(('axes', 1.15))
ax3.set_frame_on(True)
ax3.patch.set_visible(False)
fig.subplots_adjust(right=0.7)
df.A.plot(ax=ax, style='b-')
# same ax as above since it's automatically added on the right
df.B.plot(ax=ax, style='r-', secondary_y=True)
df.C.plot(ax=ax3, style='g-')
# add legend --> take advantage of pandas providing us access
# to the line associated with the right part of the axis
ax3.legend([ax.get_lines()[0], ax.right_ax.get_lines()[0], ax3.get_lines()[0]],\
['A','B','C'], bbox_to_anchor=(1.5, 0.5))
出力:
これは素晴らしいです。 ax2が必要ですか? – goofd
このアプローチを使用すると、重複していた伝説に問題がありました。これは私に役立ちました: 'ax3.legend([ax.get_lines()[0]、ax2.get_lines()[0]、ax3.get_lines()[0]]、[label1 '、' label2 '、' label3 '] 、bbox_to_anchor =(1.15、0.5)) ' – tworec
こんにちは!各軸に 'ylabel'をどのように追加するのだろうか?ありがとう! –