【发布时间】:2014-08-31 14:33:26
【问题描述】:
我正在尝试从字典中制作一个看起来像这样的直方图
words = {'STORES': 8, 'ELECTRIC': 15, 'CAPITAL': 7, 'FLORIDA': 6, '-CL': 35, 'NATURAL': 6, 'ELECTRONICS': 8, 'INDUSTRIES': 35, 'GROUP': 42, 'POWER': 11, '&': 38, 'HOLDINGS': 14, 'GAS': 10, 'GENERAL': 15, 'PRODUCTS': 8, 'AMERICA': 8, 'NATIONAL': 7, 'A': 31, 'B': 7, 'CENTRAL': 7, 'INTL': 14, 'ENERGY': 21, 'CORP': 288, 'SYSTEMS': 18, 'REALTY': 8, 'TECHNOLOGIES': 13, 'TECHNOLOGY': 6, 'PROPERTIES': 6, 'RESOURCES': 16, 'FIRST': 9, 'STACKOVERFLOW': 10, 'INDS': 8, 'VERIZON': 13, 'OF': 10, 'COMMUNICATIONS': 9, 'AMERICAN': 34, 'HELLO': 6}
x 轴表示 words.key(),y 轴表示 words.values()。我尝试了几种方法来制作漂亮的直方图。以下是我的尝试之一...
import matplotlib.pyplot as pl
import numpy as np
ax = pl.subplot(111)
width=1.0
ax.bar(range(0,len(words)), words.values(), width=width/2)
ax.set_xticks(np.arange(0,len(words)) + width/2)
ax.set_xticklabels(words.keys())
pl.show()
此代码的问题是 x 轴上的标签相互重叠,这使得直方图难以理解。谁能给我解决这种情况的方法?我真的很想控制标签之间的距离。此外,最好让所有条形都在中心排列而不是从左侧排列。
提前致谢!
【问题讨论】:
标签: python-2.7 matplotlib histogram