我用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()
查看所附的图像
但是,正如您可以指出的那样,图的宽度很小,因此对象名称不清楚。
您能建议我如何解决此问题吗?
谢谢
最佳答案
您可以添加带有循环的刻度标签:
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/