Python可视化数据分析-饼状图

一、前言

饼状图(Pie Chart)是一种常用的数据可视化图表,用于展示数据中各部分的占比关系。Python 中有多种库可以用于绘制饼状图,比较常用的包括 matplotlibpyecharts 和**plotly** 等。

二、使用 matplotlib 绘制饼状图
python 复制代码
import matplotlib.pyplot as plt

# 数据
labels = ['Apples', 'Oranges', 'Bananas', 'Grapes']
sizes = [30, 25, 20, 25]  # 每部分的占比
colors = ['gold', 'orange', 'lightgreen', 'lightcoral']  # 颜色
explode = (0.1, 0, 0, 0)  # 突出显示第一部分

# 绘制饼状图
plt.figure(figsize=(8, 6))
plt.pie(sizes, explode=explode, labels=labels, colors=colors,
        autopct='%1.1f%%', shadow=True, startangle=140)
plt.title('Fruit Distribution')  # 图表标题
plt.axis('equal')  # 使饼状图长宽相等
plt.show()

说明:

1)labels 是各部分的标签。

2)sizes 是各部分的大小(占比)。

3)colors 是各部分的颜色。

4)explode 是用于突出显示某部分的偏移量,0 表示不突出

效果图 :

三、使用 plotly 绘制饼状图
python 复制代码
import plotly.express as px

# 数据
labels = ['Apples', 'Oranges', 'Bananas', 'Grapes']
sizes = [30, 25, 20, 25]  # 每部分的占比

# 创建图表
fig = px.pie(values=sizes, names=labels, title='Fruit Distribution')

# 显示图表
fig.show()

说明:

1)labels 是各部分的标签。

2)sizes 是各部分的大小(占比)。

  1. 使用 plotly.expresspx.pie 函数创建饼状图。

4)fig.show() 方法用于显示图表。

效果图:

四、使用 pyecharts 生成饼状图
python 复制代码
from pyecharts import options as opts
from pyecharts.charts import Pie

# 数据
labels = ['Apples', 'Oranges', 'Bananas', 'Grapes']
sizes = [30, 25, 20, 25]  # 每部分的占比

# 创建饼状图对象
pie_chart = Pie()

# 添加数据和配置
pie_chart.add("", [list(z) for z in zip(labels, sizes)], radius=["30%", "75%"])

# 设置全局配置
pie_chart.set_global_opts(title_opts=opts.TitleOpts(title="Fruit Distribution"))

# 显示图表(生成 HTML 文件)
pie_chart.render("pie_chart.html")

上述代码中使用了 pyecharts 库的 Pie 类来创建饼状图。我们可以通过添加数据和配置来自定义饼状图的样式和布局。最后,调用 render 方法将图表生成为 HTML 文件并显示出来。

效果图:

相关推荐
A__tao4 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢4 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
迷藏4944 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
明日清晨5 小时前
python扫码登录dy
开发语言·python
bazhange5 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
人工干智能5 小时前
科普:python中你写的模块找不到了——`ModuleNotFoundError`
服务器·python
unicrom_深圳市由你创科技5 小时前
做虚拟示波器这种实时波形显示的上位机,用什么语言?
c++·python·c#
小敬爱吃饭5 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘
宸津-代码粉碎机5 小时前
Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势
java·人工智能·spring boot·后端·python
知行合一。。。6 小时前
Python--04--数据容器(集合)
python