2013-05-13 61 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()