0

I dont think you need all the code to help me with this, this was working 3 months ago but now the subplots are not getting added to the same figure. i.e. I want one figure 2 by 2 populated with a different line chart for each of the 4 countries in my table. what i currently get is one figure with 4 empty charts and 4 subsequent individual charts. why is this not getting adding to the same chart correctly now?

I have upgraded python and pandas since that time and anaconda(spyder) which I use. I am currently using the following versions:

Python 2.7.5 |Anaconda 1.8.0 (64-bit) Matplotlib 1.3.1 Pandas 0.15.2

for i, group in df.groupby('Country'):
   chrt += 1 
   fig1.add_subplot(2,2, chrt)
   #fig1.subplots_adjust(hspace=1)
   group.plot(x='Month', y='Value (USD)',title= str(i))
2
  • What kind of object is group? (For the group.plot) I am not a python expert, but usually what I do when plotting is something more like ax=fig1.add_subplot(...), then ax.plot( ... something involving group ... ) Commented Apr 16, 2015 at 13:33
  • Thanks TravisJ, I guess I was just struggling to get the ( ... something involving group ... ) in when i was using the ax=fig1....method. Commented Apr 16, 2015 at 13:48

1 Answer 1

4

A few things come to mind. Make sure fig1 and chrt are well initialized. Then, you can specify which axis it plots on with the ax keyword.

import matplotlib.pyplot as plt
fig1 = plt.figure()
chrt = 0
for i, group in df.groupby('Country'):
    chrt += 1 
    ax = fig1.add_subplot(2,2, chrt)
    group.plot(x='Month', y='Value (USD)',title=str(i), ax=ax)
Sign up to request clarification or add additional context in comments.

1 Comment

thanks @Julien Spronck the ax=ax was the trick I hadnt tried, still dont understand it all but it works.

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.