python学习站 /python制作图表
阅读主题
正文字体
字体大小

11.图表组合3

本节2483字2025-03-03 17:23:03
"""
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')


网友评论

相关作品