饼图

Python
可视化
作者

yangjh

发布日期

November 27, 2022

饼图(pie)用于表示不同分类的占比情况,通过弧度大小来对比各种分类。饼图通过将一个圆饼按照分类的占比划分成多个区块,整个圆饼代表数据的总量,每个区块(圆弧)表示该分类占总体的比例大小,所有区块(圆弧)的加和等于 100%。

适用于类别变量,对比类别变量的数值大小,建议类别不超过 9 个,过多的类别建议合并。

构成

使用 Ploytly 绘制饼图

绘制基本饼图

import pandas as pd
import plotly_express as px

fruit = pd.DataFrame({
    "name":["苹果","香蕉","梨","菠萝","葡萄"],
    "number":[1000,800,600,2000,2500]
})
fig = px.pie(fruit,names="name",values="number")
fig.show()

绘制中空饼图

中空的饼图,也叫环圈图,或甜甜圈图。使用hole参数,可以指定中空的大小。

fig = px.pie(fruit,
             names="name",
             values="number",
             hole=0.3,   # 设置中间空心圆的比例:0-1之间
             title="水果数量占比"
            )
fig.show()

显示标签内容

import plotly.express as px
df = px.data.gapminder().query("year == 2007").query("continent == 'Americas'")
fig = px.pie(df, values='pop', names='country')
fig.update_traces(textposition='inside', textinfo='percent+label')
fig.show()
Unable to display output for mime type(s): application/vnd.plotly.v1+json

参考文献

  1. 饼图 - AntV (alipay.com)
  2. Pie charts in Python (plotly.com)
  3. plotly.express.pie — 5.11.0 documentation
回到顶部