"""
author:少校
create Time:2025/2/28 14:41
越努力越幸运
"""
from pyecharts.charts import Bar, Line, Pie, Map, Grid, Page
from pyecharts import options
from pyecharts.globals import ThemeType
# 1. 先准备需要组合的多个单独的图表(图表不需要制图)
# 图1
bar = Bar(init_opts=options.InitOpts(theme=ThemeType.LIGHT))
bar.add_xaxis(['数据分析', '物联网', '云计算', '鸿蒙开发', '网络安全'])
bar.add_yaxis('招生人数', [345, 403, 270, 185, 300])
bar.add_yaxis('应届生人数', [250, 120, 50, 80, 180])
bar.set_global_opts(
title_opts=options.TitleOpts(
title='千锋成都校区2020年招生情况',
pos_left='340'
),
legend_opts=options.LegendOpts(
pos_right=85,
pos_top=30
)
)
g1 = Grid(init_opts=options.InitOpts(
width='600px',
height='400px'
))
g1.add(bar, grid_opts=options.GridOpts())
# 图2
line = Line(init_opts=options.InitOpts(theme=ThemeType.LIGHT))
line.add_xaxis(['1月', '2月', '3月', '4月', '5月', '6月'])
line.add_yaxis('销售额', [89, 102, 77, 65, 120, 50])
line.add_yaxis('成本', [40, 52, 33, 26, 59, 10])
g2 = Grid(init_opts=options.InitOpts(
width='600px',
height='400px'
))
g2.add(line, grid_opts=options.GridOpts())
# 图3
pie = Pie()
pie.add(
'销量',
[('华为', 290000), ('小米', 329870), ('Apple', 128700), ('Vivo', 98760), ('Oppo', 109870)],
radius=(50, 150), # (内半径, 外半径)
rosetype='radius', # 让外半径的值根据占比自动调整(制作不规则饼图)
)
g3 = Grid(init_opts=options.InitOpts(
width='600px',
height='400px'
))
g3.add(pie, grid_opts=options.GridOpts())
# 图4
# 1)创建一个正常的图标对象
map1 = Map()
map1.add(
'人均GDP',
[('四川省', 77315), ('北京市', 228011), ('上海市', 216834),
('湖南省', 57890), ('青海省', 49876), ('广东省', 139080), ('山西省', 68905),
('内蒙古自治区', 85621)],
zoom=1.3, # 默认大小为原地图的1.5倍
pos_top=100,
max_scale_limit=3, # 缩放最大倍数为3
min_scale_limit=0.7 # 缩放最小倍数为0.7
)
# 2)创建Grid对应的小盒子设置盒子的大小
g4 = Grid(init_opts=options.InitOpts(
width='600px',
height='400px'
))
g4.add(map1, grid_opts=options.GridOpts())
# 2. 创建一个Page对象作为大的盒子来存放所有的图对应的小盒子
page = Page(layout=Page.SimplePageLayout)
page.add(g1, g2, g3, g4)
page.render('charts/组合4.html')11.图表组合3
本节2483字2025-03-03 17:23:03