You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib单图添加双图例及X轴标签垂直对齐技术问询

解决方案

我帮你调整了代码,完美实现你要的两个效果——添加右上角图例+X轴标签垂直对齐,修改后的代码如下:

plt.subplot2grid(shape=(2,3),loc=(0,0))
# 绘制柱状图并获取轴对象,方便后续调整
ax = df.Survived.value_counts(normalize=True).plot(kind="bar",alpha=0.6,color= ['b','r'])
plt.title("Bar Representation- Survived wrt Age")
plt.xlabel("Survived")
plt.ylabel("Percentage")

# 需求1:设置X轴标签垂直对齐(如果想保留原0/1标签,直接用plt.xticks(rotation=90)即可)
# 这里顺便把0/1改成更直观的Died/Survived,同时设置垂直
ax.set_xticklabels(['Died', 'Survived'], rotation=90)

# 需求2:添加右上角图例,标签顺序要和color参数的颜色对应(蓝=Died,红=Survived)
plt.legend(['Died', 'Survived'], loc='upper right')

plt.show()

关键改动说明:

  • 添加图例:用plt.legend()传入和颜色匹配的标签,loc='upper right'明确指定图例位置在右上角,和你参考的示例图一致。
  • X轴标签垂直:通过rotation=90参数把标签旋转90度实现垂直对齐;如果你不想修改0/1的文字,只需要把ax.set_xticklabels(...)换成plt.xticks(rotation=90)就可以啦。

注意:如果你的value_counts()返回的索引顺序是1在前、0在后(比如存活人数更多),记得调整labels和legend里的文字顺序,确保颜色和标签对应正确哦~

内容的提问来源于stack exchange,提问作者Ronith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:27:36