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
相关产品推荐
相关产品推荐

