Pandas DataFrame Plot - Pie Chart

Raymond Raymond visibility 44,694 event 2020-04-04 access_time 3 years ago language English

This article provides examples about plotting pie chart using pandas.DataFrame.plot function.

Prerequisites

The data I'm going to use is the same as the other article Pandas DataFrame Plot - Bar Chart. I'm also using Jupyter Notebook to plot them.

The DataFrame has 9 records:

DATETYPESALES
02020-01-01TypeA1000
12020-01-01TypeB200
22020-01-01TypeC300
32020-02-01TypeA700
42020-02-01TypeB400
52020-02-01TypeC500
62020-03-01TypeA300
72020-03-01TypeB900
82020-03-01TypeC100


Pie chart

df.groupby(['TYPE']).sum().plot(kind='pie', y='SALES')

The above code outputs the following chart:

2020040432416-image.png

Shadow effect

df.groupby(['TYPE']).sum().plot(kind='pie', y='SALES', shadow = True)

2020040432459-image.png

Start angle

df.groupby(['TYPE']).sum().plot(kind='pie', y='SALES', shadow = True, startangle=90)

2020040432624-image.png

Subplots (trellis)

We can also easily implement subplots/trellis charts.

Let's add derive one more column on the existing DataFrame using the following code:

df['COUNT'] = df['SALES'] /100
df

The dataframe now looks like this:

DATETYPESALESCOUNT
02020-01-01TypeA100010.0
12020-01-01TypeB2002.0
22020-01-01TypeC3003.0
32020-02-01TypeA7007.0
42020-02-01TypeB4004.0
52020-02-01TypeC5005.0
62020-03-01TypeA3003.0
72020-03-01TypeB9009.0
82020-03-01TypeC1001.0


Now we can plot the charts using the following code:

df.groupby(['TYPE']).sum().plot(kind='pie', subplots=True, shadow = True,startangle=90,figsize=(15,10))

In the above code, subplots=True parameter is used to plot charts on both SALES and COUNT metrics. The chart size is also increased using figsize parameter.

The chart now looks like the following screenshot:

2020040433450-image.png

Add percentage

df.groupby(['TYPE']).sum().plot(kind='pie', subplots=True, shadow = True,startangle=90,
figsize=(15,10), autopct='%1.1f%%')

2020040433818-image.png

More from Kontext
info Last modified by Raymond 3 years ago copyright This page is subject to Site terms.
comment Comments
No comments yet.

Please log in or register to comment.

account_circle Log in person_add Register

Log in with external accounts