数据可视化
Pyecharts绘制柱形图
一、实验名称
Pyecharts绘制柱形图
二、实验目的
通过该实验的实践,要求学生能够使用pyecharts熟练绘制柱形图。
三、实验原理
柱形图主要用于比较不同类别或组之间的数据大小和突出差异。它属于直角坐标系图表中的典型图表之一,适用于展示二维数据集,其中每个数据点包括两个值X和Y。柱形图特别适用于仅需要比较一个维度的情况,常用于展示一段时间内的数据变化或各项之间的比较情况。
四、实验步骤
一、本实验使用2022年中国GDP前10省份的数据。数据如下图所示
二、环境搭建
1、下载数据到本地
(1)切换到E:\数据可视化\实验\代码1 目录
(2)下载GDP_2022.csv文件
2、打开jupyter
在打开的浏览器中,新建python3文件
以下代码均在jupyter中编写
三、代码实现
1、在绘制柱形图时,我们需要导入 pandas 和 pyecharts 中的 Pie 模块。
2、本实验使用的数据已存储为CSV文件,命名为 "GDP_2022.csv",使用read_csv函数读取文件。
3、对数据进行处理,选取前10省份的数据。
4、创建柱形图,代码如下
import pandas as pd
from pyecharts.charts import Bar
from pyecharts import options as opts
data = pd.read_csv("E:\数据可视化\实验\代码1\GDP_2022.csv",encoding='GBK')
data.sort_values("GDP",ascending=False,inplace=True)
top_10_data = data.head(10)
provinces = top_10_data['Provinces'].tolist()
gdp_values = top_10_data['GDP'].tolist()
bar_chart = (
Bar()
.add_xaxis(provinces)
.add_yaxis("GDP", gdp_values)
.set_global_opts(
title_opts=opts.TitleOpts(title="2022年中国GDP前10省份"),
xaxis_opts=opts.AxisOpts(name="省份"),
yaxis_opts=opts.AxisOpts(name="GDP(亿元)"),
)
)
bar_chart.render_notebook()
效果如下:
5、下面将列举给上述柱形图添加常用配置项,我们可以实现在柱形图上显示数据标签、设置交互式的工具栏和数据缩放功能,以及在鼠标悬停时显示提示信息、同时在柱形内部显示数值标签,并标记出最大值、最小值和平均值。这些配置项可以让柱形图更加丰富和便于读者理解数据,代码如下:
import pandas as pd
from pyecharts.charts import Bar
from pyecharts import options as opts
#读取数据文件
data = pd.read_csv("E:\数据可视化\实验\代码1\GDP_2022.csv",encoding='GBK')
# 对数据进行处理,选取前10省份的数据
data.sort_values("GDP",ascending=False,inplace=True)
top_10_data = data.head(10)
provinces = top_10_data['Provinces'].tolist()
gdp_values = top_10_data['GDP'].tolist()
# 创建柱形图
bar_chart = (
Bar()
.add_xaxis(provinces)
.add_yaxis("GDP", gdp_values)
.set_global_opts(
title_opts=opts.TitleOpts(title="2022年中国GDP前10省份"),
xaxis_opts=opts.AxisOpts(name="省份"),
yaxis_opts=opts.AxisOpts(name="GDP(亿元)"),
tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
toolbox_opts=opts.ToolboxOpts(is_show=True),
datazoom_opts=[opts.DataZoomOpts(),opts.DataZoomOpts(type_="inside")],
)
)
# 渲染
bar_chart.render_notebook()
效果如下:
五、实验总结
本实验通过绘制pyecharts库的柱形图,讲解使用pandas读取文件、绘制柱形图及使用pyecharts的set_global_opts和set_series_opts方法设置上显示数据标签、设置交互式的工具栏和数据缩放功能,以及在鼠标悬停时显示提示信息、同时在柱形内部显示数值标签,并标记出最大值、最小值和平均值等,可以让柱形图更加丰富和便于读者理解数据。