👀
Crash Visualization
  • Welcome
  • Preface
    • Who the book is written for
    • How the book is organized
  • 1. Introduction of Data Visualization
    • 1.1 What is data visualization?
    • 1.2 Why does visualization matter?
  • 2. Tricks in Visualization
    • 2.1 Choose Appropriate Chart
    • 2.2 Features of Charts
      • 2.2.1 Table
      • 2.2.2 Column Chart
      • 2.2.3 Line Chart
      • 2.2.4 Pie Chart
      • 2.2.5 Scatter Chart
      • 2.2.6 Map Chart
    • 2.3 Misused Graph
    • 2.4 Tips in Visualization
  • 3. Matplotlib
    • 3.1 Basic Concepts
    • 3.2 Line Chart
    • 3.3 Area Chart
    • 3.4 Column Chart
    • 3.5 Histogram Chart
    • 3.6 Scatter Chart
    • 3.7 Lollipop Chart
    • 3.8 Pie Chart
    • 3.9 Venn Chart
    • 3.10 Waffle Chart
    • 3.11 Animation
  • 4. Seaborn
    • 4.1 Trends
    • 4.2 Ranking
      • 4.2.1 Barplot
      • 4.2.2 Boxplot
    • 4.3 Composition
      • 4.3.1 Stacked Chart
    • 4.4 Correlation
      • 4.4.1 Scatter Plot
      • 4.4.2 Linear Relationship
      • 4.4.3 Heatmap
      • 4.4.4 Pairplot
    • 4.5 Distribution
      • 4.5.1 Boxplot
      • 4.5.2 Violin plot
      • 4.5.3 Histogram plot
      • 4.5.4 Density plot
      • 4.5.5 Joint plot
  • 5. Bokeh
    • 5.1 Basic Plotting
    • 5.2 Data Sources
    • 5.3 Annotations
    • 5.4 Categorical Data
    • 5.5 Presentation and Layouts
    • 5.6 Linking and Interactions
    • 5.7 Network Graph
    • 5.8 Widgets
  • 6. Plotly
    • 6.1 Fundamental Concepts
      • 6.1.1 Plotly Express
      • 6.1.2 Plotly Graph Objects
    • 6.2 Advanced Charts
      • 6.2.1 Advanced Scatter Chart
      • 6.2.2 Advanced Bar Chart
      • 6.2.3 Advanced Pie Chart
      • 6.2.4 Advanced Heatmap
      • 6.2.5 Sankey Chart
      • 6.2.6 Tables
    • 6.3 Statistical Charts
      • 6.3.1 Common Statistical Charts
      • 6.3.2 Dendrograms
      • 6.3.3 Radar Chart
      • 6.3.4 Polar Chart
      • 6.3.5 Streamline Chart
    • 6.4 Financial Charts
      • 6.4.1 Funnel Chart
      • 6.4.2 Candlestick Chart
      • 6.4.3 Waterfall Chart
  • Support
    • Donation
Powered by GitBook
On this page
  • Pie Chart
  • Donut Chart
  • Sunburst Chart

Was this helpful?

  1. 6. Plotly
  2. 6.2 Advanced Charts

6.2.3 Advanced Pie Chart

Previous6.2.2 Advanced Bar ChartNext6.2.4 Advanced Heatmap

Last updated 4 years ago

Was this helpful?

Pie Chart

In chapter 2, we discussed why the pie chart is easy to be messed up. Here is another example. When the observations are more than 5, the pie chart will become hard to read or deliver information. You should be very careful before using it.

df = px.data.gapminder().query("year == 2007").query("continent == 'Asia'")
df.loc[df['pop'] < 10.e6, 'country'] = 'Other countries' # Represent only large countries
fig = px.pie(df, values='pop', names='country', title='Population of Asia continent',width=800, height=400)
fig.show()

Donut Chart

Let's start with a simple donut chart.

import plotly.graph_objects as go

labels = ['Apple','Banana','Kiwi','Grape']
values = [3000, 5000, 2000, 2500]

# Use `hole` to create a donut-like pie chart
fig = go.Figure(data=[go.Pie(labels=labels, values=values, hole=.3)])
fig.show()

This donut chart is not sweet enough, we can add some customization to make it look better. For example,

  • change the color set

  • make the font size bigger update_traces

  • make the donut hole bigger hole

  • cut a slice out pull

  • put the legend closer to the donut update_layout

fig = go.Figure(data=[go.Pie(labels=labels, values=values, hole=.5, pull=[0, 0.1, 0, 0])])
colors = ['gold', 'dodgerblue', 'tomato', 'lightgreen']

fig.update_traces(hoverinfo='label+percent', textinfo='value', 
                  textfont_size=16,marker=dict(colors=colors))
fig.update_layout(legend=dict(orientation="h",yanchor="bottom",y=1.02,
    xanchor="right",x=0.7))
fig.show()

Sunburst Chart

Sunburst plots visualize hierarchical data spanning outwards radially from root to leaves. It looks fancy and stylish, however, it could be even messer than a pie chart. Be careful!

fig = px.sunburst(df, path=['continent', 'country'], values='pop',
                  color='lifeExp', hover_data=['iso_alpha'])
fig.show()
Simple Donut Chart
A Sweeter Donut