我很难找到一种方法来正确地显示散点图中与标记相关的标签。我的代码如下所示:
fig, ax = plt.subplots(1,1)
plot_white = sns.scatterplot(data=df_white, x='EngCorr_Player', y='EngCorr_Opponent', hue='Elo_Opponent', ax=ax, marker='D', label='White')
plot_black = sns.scatterplot(data=df_black, x='EngCorr_Player', y='EngCorr_Opponent', hue='Elo_Opponent', ax=ax, marker='X', s=140, label='Black')
ax.legend()
plt.show()
这里的问题是色调的变量包含在图例中。Plot 1
如果我在调用图例时尝试指定标签,则第二个图的标记是错误的(圆形,而不是星星)。Plot 2
ax.legend(labels=['White', 'Black'])
如果我指定句柄,用
ax.legend(handles=[plot_white, plot_black], labels=['White', 'Black'])
将显示一个空图例,并显示错误消息 “UserWarning:Legend不支持〈AxesSubplot:xlabel='EngCorr_Player',ylabel='EngCorr_Opponent'〉示例。可以使用代理美工。" 出现。
我试着调查艺术家,但什么也没抓住。
1条答案
按热度按时间cbwuti441#
看看这是不是你要找的东西...它和你有的东西很相似。除了你用
ax.get_legend_handles_labels()
得到图例的句柄和文本,然后只保留那些名字是白色和黑色的,然后调用ax.legend()