首页 分享 Pyecharts 绘制各种统计图的案例

Pyecharts 绘制各种统计图的案例

来源:花匠小妙招 时间:2025-01-12 03:29

Pyecharts 绘制各种统计图的案例

在这里插入图片描述

基础使用

from pyecharts import options as opts from pyecharts.charts import Bar, Line, Pie, Scatter from pyecharts.faker import Faker # 柱状图示例 def bar_chart(): x_data = Faker.choose() y_data = Faker.values() bar = ( Bar() .add_xaxis(x_data) .add_yaxis("数据", y_data) .set_global_opts(title_opts=opts.TitleOpts(title="柱状图示例")) ) return bar # 折线图示例 def line_chart(): x_data = Faker.choose() y_data1 = Faker.values() y_data2 = Faker.values() line = ( Line() .add_xaxis(x_data) .add_yaxis("数据1", y_data1) .add_yaxis("数据2", y_data2) .set_global_opts(title_opts=opts.TitleOpts(title="折线图示例")) ) return line # 饼图示例 def pie_chart(): data_pair = [(Faker.choose(), Faker.values()) for _ in range(5)] pie = ( Pie() .add("", data_pair) .set_global_opts(title_opts=opts.TitleOpts(title="饼图示例")) ) return pie # 散点图示例 def scatter_chart(): data = [(Faker.random_int(min_value=0, max_value=100), Faker.random_int(min_value=0, max_value=100)) for _ in range(50)] scatter = ( Scatter() .add_xaxis([x for x, _ in data]) .add_yaxis("", [y for _, y in data]) .set_global_opts(title_opts=opts.TitleOpts(title="散点图示例")) ) return scatter # 调用各种统计图的函数,生成图表 bar = bar_chart() line = line_chart() pie = pie_chart() scatter = scatter_chart() # 将图表渲染为 HTML 文件 bar.render("./charts/bar_chart.html") line.render("./charts/line_chart.html") pie.render("./charts/pie_chart.html") scatter.render("./charts/scatter_chart.html")

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970

以上代码定义了几个示例函数来生成不同类型的统计图:柱状图 bar_chart()、折线图 line_chart()、饼图 pie_chart() 和散点图 scatter_chart()。分别使用 Pyecharts 提供的相应类来构建图表对象,并设置相关的数据和样式。最后,调用 render() 方法将图表渲染为 HTML 文件,保存在指定路径下。

请确保已安装 Pyecharts 库和相关依赖,并根据需要修改文件保存路径和其他图表的配置项。运行代码后,将生成相应的 HTML 文件,可通过浏览器打开查看绘制的各种统计图。

难度提高

from pyecharts import options as opts from pyecharts.charts import Bar, Line, Pie, Scatter from pyecharts.faker import Faker # 绘制柱状图 def bar_chart(x_data, y_data, title): bar = ( Bar() .add_xaxis(x_data) .add_yaxis("数据", y_data) .set_global_opts(title_opts=opts.TitleOpts(title=title)) ) return bar # 绘制折线图 def line_chart(x_data, y_data_list, legend, title): line = ( Line() .add_xaxis(x_data) .set_global_opts(title_opts=opts.TitleOpts(title=title)) ) for y_data in y_data_list: line.add_yaxis(legend, y_data) return line # 绘制饼图 def pie_chart(data_pair, title): pie = ( Pie() .add("", data_pair) .set_global_opts(title_opts=opts.TitleOpts(title=title)) ) return pie # 绘制散点图 def scatter_chart(data, title): scatter = ( Scatter() .add_xaxis([x for x, _ in data]) .add_yaxis("", [y for _, y in data]) .set_global_opts(title_opts=opts.TitleOpts(title=title)) ) return scatter # 用户自定义参数 x_data = ["A", "B", "C", "D", "E"] y_data = [10, 20, 30, 40, 50] y_data_list = [[10, 20, 30, 40, 50], [5, 15, 25, 35, 45]] legend = ["数据1", "数据2"] data_pair = [("类别1", 30), ("类别2", 50), ("类别3", 20)] data = [(Faker.random_int(min_value=0, max_value=100), Faker.random_int(min_value=0, max_value=100)) for _ in range(50)] # 调用函数绘制统计图 bar = bar_chart(x_data, y_data, "柱状图示例") line = line_chart(x_data, y_data_list, legend, "折线图示例") pie = pie_chart(data_pair, "饼图示例") scatter = scatter_chart(data, "散点图示例") # 将图表渲染为 HTML 文件 bar.render("./charts/bar_chart.html") line.render("./charts/line_chart.html") pie.render("./charts/pie_chart.html") scatter.render("./charts/scatter_chart.html")

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

在上述示例代码中,用户可以自定义以下参数:

x_data:X 轴的数据列表。y_data:Y 轴的数据列表(柱状图、折线图)。y_data_list:多个 Y 轴的数据列表(折线图)。legend:每个 Y 轴对应的图例列表(折线图)。data_pair:饼图的数据列表,形式为 (名称, 数值) 的元组。data:散点图的数据列表,形式为 (X 值, Y 值) 的元组。

根据用户提供的参数,调用相应的绘图函数生成定制化的统计图。最后使用 render() 方法将图表渲染为 HTML 文件保存。请根据需要修改和调整参数,并运行代码来重新绘制个性化的统计图。

实例演示

import pandas as pd from pyecharts import options as opts from pyecharts.charts import Bar, Line, Pie, Scatter # 读取鸢尾花数据集 df = pd.read_csv('iris.csv') # 统计不同类别的鸢尾花数量 species_count = df['species'].value_counts().reset_index() # 创建柱状图对象并添加数据 bar = Bar() bar.add_xaxis(species_count['index'].tolist()) bar.add_yaxis("总数", species_count['species'].tolist()) # 设置图表标题和其他样式 bar.set_global_opts( title_opts=opts.TitleOpts(title="鸢尾花类别统计"), xaxis_opts=opts.AxisOpts(name="类别"), yaxis_opts=opts.AxisOpts(name="数量"), ) # 渲染图表并保存为html文件 bar.render("iris_species_count.html") # 创建散点图对象 scatter = Scatter() # 添加数据点 scatter.add_xaxis(df['sepal length (cm)']) scatter.add_yaxis('Sepal Width', df['sepal width (cm)'], symbol_size=10) scatter.add_yaxis('Petal Length', df['petal length (cm)'], symbol_size=10) scatter.add_yaxis('Petal Width', df['petal width (cm)'], symbol_size=10) # 设置图表标题和其他样式 scatter.set_global_opts( title_opts=opts.TitleOpts(title="鸢尾花数据分析"), xaxis_opts=opts.AxisOpts(name="Sepal Length (cm)"), yaxis_opts=opts.AxisOpts(name="Value"), ) # 渲染图表并保存为html文件 scatter.render("iris_scatter.html") # 创建折线图对象 line = Line() # 添加数据点 line.add_xaxis(range(len(df))) line.add_yaxis("Sepal Width", df['sepal width (cm)'], markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="average")])) line.add_yaxis("Petal Length", df['petal length (cm)'], markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="average")])) line.add_yaxis("Petal Width", df['petal width (cm)'], markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="average")])) # 设置图表标题和其他样式 line.set_global_opts( title_opts=opts.TitleOpts(title="鸢尾花数据趋势分析"), xaxis_opts=opts.AxisOpts(name="Index"), yaxis_opts=opts.AxisOpts(name="Value"), ) # 渲染图表并保存为html文件 line.render("iris_line.html") # 创建饼图对象 pie = Pie() # 统计各类别的鸢尾花数量 species_count = df['species'].value_counts().reset_index() # 添加数据 pie.add("", [list(z) for z in zip(species_count['index'].tolist(), species_count['species'].tolist())]) # 设置图表标题和其他样式 pie.set_global_opts( title_opts=opts.TitleOpts(title="鸢尾花类别占比分析"), legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"), ) # 渲染图表并保存为html文件 pie.render("iris_pie.html")

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485

上述代码示例了对鸢尾花数据进行数据清晰化和绘制多种图表分析的方法,包括柱状图、散点图、折线图和饼图。你可以根据需要自行调整图表样式和其他参数。请注意,你需要提前准备好iris.csv数据集文件。

相关知识

Python安装pyecharts问题及解决办法
L7
Python实现平行坐标图的绘制(plotly)
下表是“爱心小花店 一周内各种花卉的销售情况.先确定一格表示多少.然后把它画成条形统计图.花卉种类百合花郁金香玫瑰花康乃馨数量(枝)50653570 题目和参考答案——青夏教育精英家教网——
对鸢尾花数据集中的萼片长度、萼片宽度、花瓣长度和花瓣宽度绘制平行坐标图
这个数据分析工具花样有点多,看看统计图呈现方式
python 绘制一个四瓣花图
等一朵花开 水墨插画绘制教程【全本
干货!各种花卉的设计绘制画法参考!
使用pandas绘制两列csv的直方图

网址: Pyecharts 绘制各种统计图的案例 https://www.huajiangbk.com/newsview1548676.html

所属分类:花卉
上一篇: 基本统计图绘制
下一篇: 信息图表免抠元素

推荐分享