python - 如何更改 matplotlib 中 xtick 标签的文本方向,使其垂直堆叠?
问题描述
例如,我有一个条形图
import matplotlib.pyplot as plt
h = [10,20,30]
x = [1,2,3]
xticks = ['Group 1', 'Group 2', 'Group 3']
plt.bar(x, height = h, tick_label = xticks)
类似于这个
但我想旋转/堆叠 xtick 标签,以便文本方向像这样垂直排列(换行到多行)
我想这样做是因为人们可以在不旋转字符方向的情况下垂直阅读文本,否则必须旋转头部才能阅读文本(对汉字特别有用)。
在 MS PowerPoint 中,我可以使用“堆栈”来设置文本方向,但如何在 Python 中做到这一点?
解决方案
最简单的方法是修改标签的文本以在每个字符之间放置回车符:
import matplotlib.pyplot as plt
h = [10,20,30]
x = [1,2,3]
xticks = ['Group 1', 'Group 2', 'Group 3']
xticks_stacked = ['\n'.join(x) for x in xticks]
plt.bar(x, height = h, tick_label = xticks_stacked)
注意:要保存此图的图像而不切断标签文本,可以使用:
plt.savefig('filename.jpg', bbox_inches='tight')
推荐阅读
- google-apps-script - 如何使用 GMail 查询语言过滤没有附件的邮件?
- postgresql - 是否值得在 postgres 中使用全文搜索来搜索名称、用户名、电子邮件等短文本?
- c++ - 在 pthread_cancel 之后“终止调用而没有活动异常”
- pytorch - 在pytorch中使用多cuda(Dataparallel)时大小不匹配
- android - Flutter - setState() 没有更新按钮的文本颜色?
- android - Android:(父活动)从(子片段)获取 EditText 值导致 NPE
- java - 通过 UDP 发送字符串;接收、连接并发送回
- python - 缺少 3 个必需的位置参数:“self”、“to”和“messages”
- c# - 通过 Azure B2C 进行身份验证时,如何通过 Blazor 向 WebAPI 发出授权请求?
- graphql - 使用石墨烯返回在 Graphql 中插入字符串的字典