1 回答

TA贡献1797条经验 获得超6个赞
Seaborn 有自己的图例概念,它经常与默认的 matplotlib 图例冲突。
为了保持seaborn的思维方式,你可以使用lmplot它,让它自动生成图例。这需要稍微重塑输入数据。
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np; np.random.seed(1)
import pandas as pd
data=pd.DataFrame({"VarX" : np.arange(10),
'VarY1': np.random.rand(10),
'VarY2': np.random.rand(10),
'VarY3': np.random.rand(10)})
df = data.set_index("VarX")
df.columns = ['First','Second','Third']
df = df.stack().rename_axis(['VarX','Ycategory']).rename('VarY').reset_index()
sns.lmplot(x="VarX", y="VarY", hue="Ycategory", data = df, x_bins=10)
plt.show()
添加回答
举报