【发布时间】:2013-04-01 09:14:13
【问题描述】:
我一直在尝试在我的代码中为长标签换行。我尝试了之前建议的 textwrap 方法here,但我的代码通过使用pyplot.setp() 方法从 csv 导入的数组定义了 yticklabels。否则我使用tight_layout() 进行格式化。
所以问题是 - 有没有办法将非常长的 y 标签轻松包装到换行符?
这是一些我想要修复的示例代码:
import numpy as np
import matplotlib.pyplot as plt
labels=('Really really really really really really long label 1', 'Really really really really really really long label 2', 'Really really really really really really long label 3')
values=(30,50,40)
fig = plt.figure()
ax=fig.add_subplot(111)
plt.ylim((0,40))
for i in np.arange(3):
plt.barh(15*i, values[i])
plt.yticks(15*np.arange(3))
plt.setp(ax.set_yticklabels(labels))
plt.tight_layout()
plt.show()
这会绘制这样的图 我希望标签在固定宽度后转到换行符。有什么想法吗?
【问题讨论】:
标签: python matplotlib