【可视化】高阶图绘制(2)——动态轮播图

【可视化】高阶图绘制(2)——动态轮播图

日常工作时,是不是会觉得普通的条形图、柱状图太过寻常,不够高大上,本期介绍一种图——动态轮播图的绘制。

相关库简介

Pyecharts 是一个用于生成 Echarts 图表的 Python 库,而创建时间序列图主要用到Timeline组件。通过 Timeline,可以展示数据随时间变化的情况,非常适用于动态展示随时间变化的数据,例如股票价格、天气变化等。

Timeline 主要功能

时间轴滚动:通过时间轴可以滚动查看不同时间点的数据。

动态展示:每个时间点可以展示不同的数据图表,适合展示随时间变化的数据趋势。

丰富的图表类型:可以结合 Pyecharts 提供的各种图表类型(如折线图、柱状图、饼图等)一起使用。

动画效果:提供丰富的动画效果,使数据展示更加生动。

代码实现

导入相关库

# -*- coding: UTF-8 -*-
# 导入相关库
from pyecharts import options as opts
from pyecharts.charts import Bar, Timeline, Grid
from pyecharts.globals import ThemeType

加载数据

加载从http://www.stat-nba.com采集到的球员各赛季的数据。

# 数据来自网络
names = ['詹姆斯', '杜兰特', '库里', '欧文', '哈登']
allinfo = [[[492, 610, 533, 416, 565, 639, 709, 465, 472], [387, 551, 488, 511, 514, 646, 747, 454, 636], [1683, 2036, 2089, 1743, 1920, 1954, 2251, 1505, 1544]], [[533, 527, 640, 598, 178, 589, 513, 464, 497], [214, 231, 374, 445, 110, 361, 300, 366, 457], [2161, 1850, 2280, 2593, 686, 2029, 1555, 1792, 2027]], [[88, 314, 334, 341, 430, 353, 261, 369, 26], [138, 539, 666, 619, 527, 524, 310, 361, 33], [383, 1786, 1873, 1900, 2375, 1999, 1346, 1881, 104]], [[191, 216, 259, 237, 157, 230, 227, 335, 103], [275, 350, 433, 389, 250, 418, 306, 464, 128], [944, 1325, 1478, 1628, 1041, 1816, 1466, 1596, 548]], [[252, 379, 344, 459, 501, 659, 389, 518, 387], [229, 455, 446, 565, 612, 907, 630, 586, 450], [1044, 2023, 1851, 2217, 2376, 2356, 2191, 2818, 2096]]]

绘制动态轮播图

y1 = []
y2 = []
y3 = []
for i in range(9):
    y_trb_sorce = []
    y_ast_sorce = []
    y_pts_sorce = []
    for j in range(5):
        y_trb_sorce.append(allinfo[j][0][i])
        y_ast_sorce.append(allinfo[j][1][i])
        y_pts_sorce.append(allinfo[j][2][i])
    y1.append(y_pts_sorce)
    y2.append(y_ast_sorce)
    y3.append(y_trb_sorce)

years = ['11-12赛季', '12-13赛季', '13-14赛季', '14-15赛季', '15-16赛季', '16-17赛季', '17-18赛季', '18-19赛季', '19-20赛季']
tl = Timeline()
for i in range(9):
    bar = (
        Bar()
            .add_xaxis(names)
            .add_yaxis('得分', y1[i])
            .add_yaxis('助攻', y2[i])
            .add_yaxis('篮板', y3[i])
            .set_global_opts(title_opts=opts.TitleOpts("{}三项数据".format(years[i])))
    )
    tl.add(bar, "{}".format(years[i]))
tl.render('lunbo_chart.html')

结果展示

如下,通过一个简单的例子(NBA球员数据),展示了动态轮播图的绘制结果。

推荐阅读

欢迎关注我的公众号“AI拾贝”,原创技术文章第一时间推送。后台发送chart,自动回复源码和数据。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值