CodeGym /课程 /Python SELF ZH /创建饼状图展示分类数据

创建饼状图展示分类数据

Python SELF ZH
第 41 级 , 课程 4
可用

1. 什么是饼状图及其用途

饼状图,也称为“蛋糕图”,可以直观地显示整体中各部分的相对大小。如果你曾经问过10个朋友最喜欢的编程语言,并想用图表展示结果,饼状图就是最好的选择!它特别适合展示某件事的组成部分,例如公司市场份额或一天中编程和看猫咪视频的时间分布。

使用函数 pie() 创建饼状图

Matplotlib 提供了一个超棒的函数pie(),制作饼状图就像吃蛋糕一样简单!

以下是一个基本例子:

Python

import matplotlib.pyplot as plt

# 图表数据
labels = ['Python', 'JavaScript', 'C++', 'Java']
sizes = [40, 30, 20, 10]  # 百分比比例
colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']  # 每个部分的颜色

# 绘制饼状图
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140)

# 设置坐标轴为均等比例
plt.axis('equal')

# 显示图表
plt.show()
    

在这个例子中,我们定义了分类(编程语言)、它们的比例和颜色。然后调用pie()函数来创建饼状图。参数 autopct='%1.1f%%' 会在图表上添加百分比,startangle=140 会旋转图表,让它更好看些。

2. 自定义饼状图

饼状图就像新年的裙子—可以随心装饰和调整。让我们来看看一些定制的方法。

显示百分比 autopct

参数 autopct 可以显示每个分类的百分比。"%1.1f%%" 代表小数点后一位。

Python

import matplotlib.pyplot as plt

labels = ["猫", "狗", "鸟", "鱼"]
sizes = [35, 30, 20, 15]

plt.pie(sizes, labels=labels, autopct="%1.1f%%")
plt.title("宠物受欢迎度")
plt.show()
    

突出显示部分 explode

参数 explode 用于将某些部分从中心移开,适合强调某个分类。

Python

import matplotlib.pyplot as plt

labels = ["猫", "狗", "鸟", "鱼"]
sizes = [35, 30, 20, 15]
explode = (0.1, 0, 0, 0)  # 突出显示第一个部分 (猫)

plt.pie(sizes, labels=labels, autopct="%1.1f%%", explode=explode)
plt.title("宠物受欢迎度")
plt.show()
    

上例中,第一个部分(猫)从中心移开了10%(值0.1),更吸引眼球。

改变颜色 colors

使用colors参数设置每个部分的颜色。

Python

import matplotlib.pyplot as plt

labels = ["猫", "狗", "鸟", "鱼"]
sizes = [35, 30, 20, 15]
colors = ["#ff9999", "#66b3ff", "#99ff99", "#ffcc99"]

plt.pie(sizes, labels=labels, autopct="%1.1f%%", colors=colors)
plt.title("宠物受欢迎度")
plt.show()
    

这样给每个部分设置不同颜色,让图表更加清晰和美观。

调整起始角度 startangle

参数 startangle 设置图表的起始角度。可以用来把主要分类放在某个特定位置,比如顶部。

Python

import matplotlib.pyplot as plt

labels = ["猫", "狗", "鸟", "鱼"]
sizes = [35, 30, 20, 15]

plt.pie(sizes, labels=labels, autopct="%1.1f%%", startangle=90)
plt.title("宠物受欢迎度")
plt.show()
    

参数 startangle=90 会把第一个部分旋转到从90度角开始(垂直向上)。

3. 实际案例

虽然饼状图是经典工具,但并不适合所有情况。如果分类太多或者数据难以理解,可以考虑其他可视化形式,例如柱状图。务必考虑数据的可读性以及对观众的责任。

示例:按市场分类分析

假设我们有关于市场份额的公司数据,想用饼状图展示。

Python

import matplotlib.pyplot as plt

# 市场份额数据
labels = ["公司 A", "公司 B", "公司 C", "公司 D"]
sizes = [40, 25, 20, 15]
colors = ["#ff9999", "#66b3ff", "#99ff99", "#ffcc99"]
explode = (0.1, 0, 0, 0)  # 突出显示公司 A 的部分

plt.pie(sizes, labels=labels, autopct="%1.1f%%", startangle=140, colors=colors, explode=explode)
plt.title("市场份额分布")
plt.show()
    

这个图表展示了公司市场份额,并突出显示了公司 A 的部分以强调其在市场中的领导地位。

制作饼状图的小贴士

  • 限制分类数量:饼状图更适合少量分类。太多分类会让图表难以理解。
  • 添加百分比:在各部分显示百分比有助于快速解读数据。
  • 使用突出显示(explode):突出显示重要分类来吸引注意力。
  • 合理选择颜色:选择易于区分的颜色,尤其是分类数量超过四个时。
  • 考虑替代方案:当分类过多时,可以用柱状图或直方图代替饼状图。

用这个关于饼状图的小冒险来提升你对 Matplotlib 的掌握吧。这是成为数据可视化大师的重要一步!🎉 加油,你的图表一定会很赞!🍕

1
调查/小测验
使用Matplotlib绘图第 41 级,课程 4
不可用
使用Matplotlib绘图
使用Matplotlib绘图
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION