How to save Pandas pie plot to a file?
Question:
I have the following code:
import pandas as pd
import matplotlib
matplotlib.style.use('ggplot')
df = pd.DataFrame({ 'sample1':['foo','bar','bar','qux'], 'score':[5,9,1,7]})
sum_df = df.groupby("sample1").sum()
pie = sum_df.plot(kind="pie", figsize=(6,6), legend = False, use_index=False, subplots=True, colormap="Pastel1")
Which makes the pie chart. What I want to do then is to save it to a file.
But why this fail?
fig = pie.get_figure()
fig.savefig("~/Desktop/myplot.pdf")
I get this error:
'numpy.ndarray' object has no attribute 'get_figure'
Answers:
Well pie
is a numpy array because the return type for DataFrame.plot()
is a numpy array of matplotlib.AxesSubplot
objects.
fig = pie[0].get_figure()
fig.savefig("~/Desktop/myplot.pdf")
Use this code:
plt.get.savefig('myplot') #figure will be saved as saved_figure.png
plt.get.savefig('myplot.pdf') #figure will be saved as saved_figure.pdf
but make sure import shoul be like below code:
import matplotlib.pyplot as plt
I have the following code:
import pandas as pd
import matplotlib
matplotlib.style.use('ggplot')
df = pd.DataFrame({ 'sample1':['foo','bar','bar','qux'], 'score':[5,9,1,7]})
sum_df = df.groupby("sample1").sum()
pie = sum_df.plot(kind="pie", figsize=(6,6), legend = False, use_index=False, subplots=True, colormap="Pastel1")
Which makes the pie chart. What I want to do then is to save it to a file.
But why this fail?
fig = pie.get_figure()
fig.savefig("~/Desktop/myplot.pdf")
I get this error:
'numpy.ndarray' object has no attribute 'get_figure'
Well pie
is a numpy array because the return type for DataFrame.plot()
is a numpy array of matplotlib.AxesSubplot
objects.
fig = pie[0].get_figure()
fig.savefig("~/Desktop/myplot.pdf")
Use this code:
plt.get.savefig('myplot') #figure will be saved as saved_figure.png
plt.get.savefig('myplot.pdf') #figure will be saved as saved_figure.pdf
but make sure import shoul be like below code:
import matplotlib.pyplot as plt