1
私は同じ軸上に一連のボックスプロットをプロットしており、それらを識別するために凡例を追加したいと考えています。 は非常に単純化され、私のスクリプトは次のようになります。Pandas DataFrameボックスに凡例を追加
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
df={}
bp={}
positions = [1,2,3,4]
df[0]= pd.DataFrame (np.random.rand(4,4),columns =['A','B','C','D'])
df[1]= pd.DataFrame (np.random.rand(4,4),columns =['A','B','C','D'])
colour=['red','blue']
fig, ax = plt.subplots()
for i in [0,1]:
bp[i] = df[i].plot.box(ax=ax,
positions = positions,
color={'whiskers': colour[i],
'caps': colour[i],
'medians': colour[i],
'boxes': colour[i]}
)
plt.legend([bp[i] for i in [0,1]], ['first plot', 'second plot'])
fig.show()
プロットは罰金ですが、伝説が描かれていないと私は追加する際に前
UserWarning: Legend does not support <matplotlib.axes._subplots.AxesSubplot object at 0x000000000A7830F0> instances.
A proxy artist may be used instead.
は(私はこの警告を持っていたこの警告を取得散布図の伝説ですが、伝説はまだ描かれているので、無視することができます)。
Here is a link to a description of proxy artists
しかし、これをスクリプトにどのように適用するかは明確ではありません。助言がありますか?