ncmathsadist
ncmathsadist

Reputation: 4889

Matplotlib plot is a no-show

When I run this code

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')

I get no plot. This is from Wes McKinney's book on using Python for data analysis. Can anyone point me in the right direction?

Upvotes: 59

Views: 42357

Answers (3)

Akash Nayak
Akash Nayak

Reputation: 831

your code is correct. just put:

import matplotlib as plt

for displaying your plot:

plt.show()

Upvotes: 2

jmz
jmz

Reputation: 4328

In the IPython notebook you could also use %matplotlib inline at the top of the notebook to automatically display the created plots in the output cells.

Upvotes: 31

unutbu
unutbu

Reputation: 880937

Put

import matplotlib.pyplot as plt

at the top, and

plt.show()

at the end.

Upvotes: 163

Related Questions