2017-05-11 40 views
-1

我有一个数据框包含销售数据,我想计算特定列中的值并显示条形图中的前5个结果。我在PyCharm埃杜编写本3.5.1:.plot()方法不会返回我期望的结果

df['Province'].value_counts(sort=True)[:5].plot(kind ='barh') 

,但我得到这个:

Axes(0.125,0.11;0.775x0.77) 

除去.plot()的代码返回预期的结果:

Ontario    1826 
British Columbia 1126 
Saskachewan   913 
Alberta    865 
Manitoba    793 

我知道另一种绘制前5名的方法,但是想知道为什么我第一次尝试的.plot()不起作用?

+0

它返回一个Axes对象,如文档所述。什么是意外? –

+0

什么都不起作用?如果你在不调用'.plot'的情况下得到预期的结果,你为什么要打扰它呢? – kazemakase

+0

事情是,我希望得到一个水平条形图,而不是! – DanielG

回答

3

您需要实际显示情节,而不仅仅是创建它。

import pandas as pd 
import matplotlib.pyplot as plt 

df = ... # dataframe creation 
df['Province'].value_counts(sort=True)[:5].plot(kind ='barh') 

plt.show() 
相关问题