我用matplotlib创建一个条形图:

import matplotlib.pyplot as plt; plt.rcdefaults()
import numpy as np
import matplotlib.pyplot as plt

objects = ('ETA_PRG_P2REF_RM', 'ETA_PRG_VDES_RM', 'ETA_PRG_P3REF_RM', 'Python', 'C++', 'Java', 'Perl', 'Scala', 'Lisp')
y_pos = np.arange(len(objects))
performance = [220010, 234690, 235100, 21220, 83410, 119770, 210990, 190430, 888994]
plt.bar(y_pos, performance, align='center', alpha=0.5)
plt.xticks(y_pos, objects)
plt.ylabel('Usage')
plt.title('Programming language usage')
plt.show()


查看所附的图像python - 更改基本条形图的宽度-LMLPHP

但是,正如您可以指出的那样,图的宽度很小,因此对象名称不清楚。
您能建议我如何解决此问题吗?

谢谢

最佳答案

您可以添加带有循环的刻度标签:

pyplot.xticks(y_pos, objects, rotation=70)


除了以度为单位的角度之外,您还可以指定一个字符串:

pyplot.xticks(y_pos, objects, rotation='vertical')


您可能还需要指定水平对齐方式,尤其是使用40度这样的角度。默认值是使用中心,这会使标签看起来很奇怪:

pyplot.xticks(y_pos, objects, rotation=40, ha='right')


有关选项的完整列表,请参见docs

关于python - 更改基本条形图的宽度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39210160/

10-12 04:18