10

I have a simple dataframe in pandas that has two numeric columns. I want to make a histogram out of the columns using matplotlib through pandas. The example below does not work:

In [6]: pandas.__version__
Out[6]: '0.14.1'

In [7]: df
Out[7]: 
   a   b
0  1  20
1  2  40
2  3  30
3  4  30
4  4   3
5  3   5

In [8]: df.plot(kind="hist")
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-8-4f53176a4683> in <module>()
----> 1 df.plot(kind="hist")

/software/lib/python2.7/site-packages/pandas/tools/plotting.pyc in plot_frame(frame, x, y, subplots, sharex, sharey, use_index, figsize, grid, legend, rot, ax, style, title, xlim, ylim, logx, logy, xticks, yticks, kind, sort_columns, fontsize, secondary_y, **kwds)
   2095         klass = _plot_klass[kind]
   2096     else:
-> 2097         raise ValueError('Invalid chart type given %s' % kind)
   2098 
   2099     if kind in _dataframe_kinds:

ValueError: Invalid chart type given hist

why does it say invalid chart type? the columns are numeric and can be made into histograms.

1
  • Try reinstalling Pandas. That worked for me. Commented Apr 26, 2015 at 18:24

2 Answers 2

16

DataFrame has its own hist method:

df =pd.DataFrame({'col1':np.random.randn(100),'col2':np.random.randn(100)})
df.hist(layout=(1,2))   

draws a histogram for each valid column of the dataframe.

enter image description here

Sign up to request clarification or add additional context in comments.

Comments

2

I don't believe 'hist' was a supported type in 0.14.1. Try df.hist() instead

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.