这段代码主要是使用了Pyecharts库来绘制一个Grid布局的散点图和折线图。
首先,从pyecharts库中导入所需的模块:
from pyecharts import options as opts
from pyecharts.charts import Grid, Line, Scatter
from pyecharts.faker import Faker
接下来,定义一个散点图scatter
,使用Faker.choose()
生成随机的x坐标,然后使用add_xaxis
方法将x轴数据添加到散点图中。接着,使用add_yaxis
方法分别将"计算机"和"大数据"对应的y轴数据添加到散点图中。最后,使用set_global_opts
方法设置图表的标题和图例的位置。
scatter = (
Scatter()
.add_xaxis(Faker.choose())
.add_yaxis("计算机", Faker.values())
.add_yaxis("大数据", Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="Grid-Scatter"),
legend_opts=opts.LegendOpts(pos_left="20%"),
)
)
然后,定义一个折线图line
,使用Faker.choose()
生成随机的x坐标,然后使用add_xaxis
方法将x轴数据添加到折线图中。接着,使用add_yaxis
方法分别将"物联网"和"云计算"对应的y轴数据添加到折线图中。最后,使用set_global_opts
方法设置图表的标题和图例的位置。
line = (
Line()
.add_xaxis(Faker.choose())
.add_yaxis("物联网", Faker.values())
.add_yaxis("云计算", Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="Grid-Line", pos_right="5%"),
legend_opts=opts.LegendOpts(pos_right="20%"),
)
)
最后,创建一个Grid布局图grid
,使用add
方法将散点图和折线图添加到Grid布局中,并使用grid_opts
参数设置散点图和折线图在Grid布局的位置,然后使用render
方法将图表渲染为HTML文件。
grid = (
Grid()
.add(scatter, grid_opts=opts.GridOpts(pos_left="55%"))
.add(line, grid_opts=opts.GridOpts(pos_right="55%"))
.render("grid_horizontal.html")
)
综上所述,这段代码的作用是创建一个Grid布局的散点图和折线图,并将其保存为一个HTML文件。
你可以按照以下方式修改数据:
-
修改散点图数据:使用
add_xaxis
方法修改x轴数据,使用add_yaxis
方法修改y轴数据。例如,要修改"计算机"这组数据,可以将add_yaxis("计算机", Faker.values())
中的Faker.values()
替换为你想要的新数据。 -
修改折线图数据:同样,使用
add_xaxis
方法修改x轴数据,使用add_yaxis
方法修改y轴数据。例如,要修改"物联网"这组数据,可以将add_yaxis("物联网", Faker.values())
中的Faker.values()
替换为你想要的新数据。
修改完成后,重新运行代码即可生成包含新数据的图表。
请注意,这段代码使用了Faker
模块生成了一些随机数据作为示例,如果想要使用真实的数据,你需要替换Faker.choose()
和Faker.values()
这两个函数调用为你的实际数据。
from pyecharts import options as opts
from pyecharts.charts import Grid, Line, Scatter
# 创建散点图
scatter = (
Scatter()
.add_xaxis(["2019","2020","2021","2022","2023","2024","2025"]) # 设置 x 轴数据
.add_yaxis("计算机科学技术", ['80','85','84','86','83','89','93',]) # 设置第一条曲线的 y 轴数据
.add_yaxis("大数据", ['71','70','68','59','68','65','61',]) # 设置第二条曲线的 y 轴数据
.set_global_opts(
title_opts=opts.TitleOpts(title="行业就业"), # 设置标题
legend_opts=opts.LegendOpts(pos_left="20%"), # 设置图例位置
)
)
# 创建折线图
line = (
Line()
.add_xaxis(["2019","2020","2021","2022","2023","2024","2025"]) # 设置 x 轴数据
.add_yaxis("物联网", ['99','99','97','95','96','94','93',]) # 设置第一条曲线的 y 轴数据
.add_yaxis("云计算", ['50','55','54','56','57','59','60',]) # 设置第二条曲线的 y 轴数据
.set_global_opts(
title_opts=opts.TitleOpts(title="行业就业", pos_right="5%"), # 设置标题
legend_opts=opts.LegendOpts(pos_right="20%"), # 设置图例位置
)
)
# 创建网格组合图表
grid = (
Grid()
.add(scatter, grid_opts=opts.GridOpts(pos_left="55%")) # 将散点图添加到左侧网格
.add(line, grid_opts=opts.GridOpts(pos_right="55%")) # 将折线图添加到右侧网格
.render("grid_horizontal.html") # 将图表渲染为 HTML 文件
)