matplotlib Histplot:设置位置后图例消失,而在指定位置显示一个小正方形[重复]

qzwqbdag  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(140)

此问题在此处已有答案

Move seaborn plot legend to a different position(8个答案)
22天前关闭。
Random DataFrame只是为了显示我的问题:

numbers = pd.Series(np.random.choice(10,50), name='numbers')
colors=pd.Series(np.random.choice(['A','B'],50), name='colors')
df = pd.concat([numbers, colors], axis=1)

我用Seborn绘制了一个直方图,图例在默认情况下显示得很好:

sns.histplot(data=df, x='numbers', hue='colors')
plt.show()

当尝试使用loc移动图例时,我在所需位置得到一个空的正方形:

sns.histplot(data=df, x='numbers', hue='colors')
plt.legend(loc="upper left")
plt.show()

我怎样才能移动我的传奇?

nnt7mjpx

nnt7mjpx1#

这可能有助于:

numbers = pd.Series(np.random.choice(10,50), name='numbers')
colors=pd.Series(np.random.choice(['A','B'],50), name='colors')
df = pd.concat([numbers, colors], axis=1)

ax = sns.histplot(data=df, x='numbers', hue='colors') #<========== returning ax
sns.move_legend(ax, "upper left") <============== calling the move_legend method

输出量:

进一步阅读:https://seaborn.pydata.org/generated/seaborn.move_legend.html

相关问题