2013-05-13 76 views
57

当我运行这段代码Matplotlib情节是没有出现

import pandas as pd 
import numpy as np 
def add_prop(group): 
    births = group.births.astype(float) 
    group['prop'] = births/births.sum() 
    return group 

pieces = [] 
columns = ['name', 'sex', 'births'] 

for year in range(1880, 2012): 
    path = 'yob%d.txt' % year 
    frame = pd.read_csv(path, names = columns) 
    frame['year'] = year 
    pieces.append(frame) 
    names = pd.concat(pieces, ignore_index = True) 

total_births = names.pivot_table('births', rows = 'year', cols = 'sex', aggfunc = sum) 
total_births.plot(title = 'Total Births by sex and year') 

我没有得到任何情节。这是来自Wes McKinney关于使用Python进行数据分析的书。 任何人都可以指向正确的方向吗?

+2

如果您使用IPython的(!你应该是),你可以使用pylab标志:'IPython中--pylab' – 2013-05-13 17:47:30

+0

谢谢,安迪。我是。 – ncmathsadist 2013-05-13 18:32:35

回答

155

import matplotlib.pyplot as plt 

在顶部,并

plt.show() 

末。

+0

你知道为什么会发生这种情况吗?没有一台计算机就没问题,但在其他地方需要 – 2016-06-02 21:46:56

+7

@NoelEvans:在IPython笔记本等GUI内部,根据GUI的配置方式,您可能不需要调用'plt.show()'。如果你从命令行运行Python脚本,那么你必须调用'plt.show()'。 – unutbu 2016-06-02 21:51:42

+0

那么符合我所看到的 – 2016-06-03 05:36:33

29

在IPython笔记本中,您还可以在笔记本顶部使用%matplotlib inline自动在输出单元格中显示创建的图。

1

你的代码是正确的。 只是把:

import matplotlib as plt 

为diplaying你的情节:

plt.show()