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

news/2024/9/23 4:30:07/
一、前言

饼状图(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 是各部分的大小(占比)。

    3) 使用 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 文件并显示出来。

效果图:


http://www.ppmy.cn/news/1428144.html

相关文章

LeetCode //C - 354. Russian Doll Envelopes

354. Russian Doll Envelopes You are given a 2D array of integers envelopes where envelopes[i] [ w i , h i w_i, h_i wi​,hi​] represents the width and the height of an envelope. One envelope can fit into another if and only if both the width and height …

Docker - HelloWorld

原文地址,使用效果更佳! Docker - HelloWorld | CoderMast编程桅杆https://www.codermast.com/dev-tools/docker/docker-helloworld.html 开始之前 在学习本小节之前,你必须确保你正确安装了 Docker,正确安装 Docker 是后续学习的…

Docker容器逃逸-特权模式-危险挂载-Procfs

Docker容器逃逸-特权模式-危险挂载 Docker这个概念: Docker 容器与虚拟机类似,但二者在原理上不同,容器是将操作系统层虚拟化,虚拟机则是虚拟化硬件,因此容器更具有便携性、高效地利用服务器。 ‍ Docker会遇到的安…

每日一题(4.20)

目录 Leecode-118-杨辉三角题目示例解题思路代码实现 Leecode-238-除自身以外数组的乘积题目示例解题思路代码实现 Leecode-118-杨辉三角 题目 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上…

vue-Router 路由(常量路由)

1、安装 pnpm i vue-router 2、新建文件:src/routes.ts import { RouteRecordRaw } from vue-routerexport const constantRoute: RouteRecordRaw[] [{//path: /,redirect: /login,},{//path: /login,component: () > import(/views/Login/index.vue),name…

Android--ConnectivityManager使用

一、前言 Android10之后官方废弃了通过WifiManager连接WIFI的方式,现在要使用ConnectivityManager连接WIFI 二、连接WIFI public class MainActivity extends AppCompatActivity {private static final String TAG"lkx";Overrideprotected void onCrea…

uniapp uni.navigateBack 连带返回问题记录

uniapp uni.navigateBack 连带返回问题记录 问题描述 去除原生导航栏,使用自定义导航,并使用自定义返回按钮,通过方法handleBack.navigateBack()返回到上一页。 共有3层页面,A -> B -> C。都是自定义导航栏。均使用navig…

APP开发_ js 控制手机横屏或竖屏

1 Android 控制手机横屏或者竖屏的方法 1.1 配置 AndroidManifest.xml 以横屏模式为例: 在 Android 开发中,如果想让应用或某个特定的 Activity 在运行时以横屏模式显示,可以通过修改 Activity 的 AndroidManifest.xml 文件中的配置来实现…