ipython pylab:从字典中打印直方图

时间:2014-08-06 10:54:57

标签: python matplotlib pandas ipython

我有一本字典d

d = {'apples': 5, 'oranges': 2, 'bananas': 2, 'lemons': 1, 'coconuts': 1}

如何以图形方式显示它,使用(pylab/matplotlib/ pandas/what-ever-is-best-suitable-for-simple-histograms

作为直方图

我正在寻找的是以下图形类比:

X
X
X
X  X  X
X  X  X  X  X
-------------
A  O  B  L  C

2 个答案:

答案 0 :(得分:3)

使用matplotlib:

import matplotlib.pyplot as plt
d = {'apples': 5, 'oranges': 2, 'bananas': 2, 'lemons': 1, 'coconuts': 1}

plt.bar(range(len(d)), d.values(), align='center')
plt.xticks(range(len(d)), d.keys(), rotation=25)

enter image description here

或者,让它变得丰富多彩:

import numpy as np
import matplotlib.pyplot as plt
d = {'apples': 5, 'oranges': 2, 'bananas': 2, 'lemons': 1, 'coconuts': 1}

jet = plt.get_cmap('jet')
N = len(d)
plt.bar(range(N), d.values(), align='center', color=jet(np.linspace(0, 1.0, N)))
plt.xticks(range(N), d.keys(), rotation=25)

enter image description here

答案 1 :(得分:1)

您只需致电plot并设置`kind ='bar':

In [252]:

d = {'apples': [5], 'oranges':[2], 'bananas': [2], 'lemons': [1], 'coconuts': [1]}
df = pd.DataFrame(d)
df.plot(kind='bar')
Out[252]:
<matplotlib.axes.AxesSubplot at 0xb54b0f0>

enter image description here