技术解析:如何用pyecharts绘制时间轮播图

点击上方“早起python”,关注公众号

满满干货,极速送达

在前天的文章『用python制作动态图表看全球疫情变化趋势』中,由于篇幅原因,在数据处理与数据可视化相关内容上我们只是简单带过,那么我将以python小小白的角度去还原如何处理数据与数据可视化。本文为第二篇:pyecharts绘制时间轮播图。

时间线轮播多图

我们依旧以python小小白的角度去解析如何用pyecharts去制作时间线轮播多图。其实在之前我也并没有使用过这个功能,仅有一点的类似经验是之前项目在Echarts中实现过类似功能,所以第一步也是打开pyecharts官方文档。找到这部分的说明

那么官方给了那么一大堆文字说明,谁看都头疼,所以我们先运行一个demo看看

from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Bar, Page, Pie, Timeline


def timeline_bar() -> Timeline:
    x = Faker.choose()
    tl = Timeline()
    for i in range(2015, 2020):
        bar = (
            Bar()
            .add_xaxis(x)
            .add_yaxis("商家A", Faker.values())
            .add_yaxis("商家B", Faker.values())
            .set_global_opts(title_opts=opts.TitleOpts("某商店{}年营业额".format(i)))
        )
        tl.add(bar, "{}年".format(i))
    return tl

那么其实我们需要制作的不管是面积图还是地图本质上和这个demo都是一样的,所以只要把这个demo研究透了即可。那么接下来带你看这个demo。

首先我们发现中间的柱状图其实和之前文章讲解的绘制方法完全一致

唯一不一样的是上面多了一些代码

tl = Timeline()

这样一句代码,所以我们回去check文档就能发现之所以能够轮播就是这句代码在生效,所以我们就大致搞明白了timeline的套路⬇️

那么接下来就有一个问题,数据怎么提供的,我们执行一下Faker.values()

当你执行完毕之后会发现,每次执行都会输出一个list,里面存了每一张图片的数据,所以我们也需要写一个函数,把所有的数据存储到一个list里面,然后每调用一次这个函数就会返回一次的数据,

def hs(c,k):
    return c[k]
c = []
for i in range(len(date)):
    a1 = data.loc[i:i].values.tolist()
    a1 = a1[0]
    a1.pop(0)
    c.append(a1)

这样就将dataframe里的每一组数据保存为list然后再将这一堆list存到另一个list里面,每执行一次就返回list里面的一组数据,那么怎样控制第一次执行返回第一组数据第二次执行返回第二组数据呢?看到函数除了接收数据参数之外,还接受一个参数k,我们就使用这个k来控制顺序输出每组数据。

这样就能做出随着时间变化的饼图了,而其他图的制作方法也是完全一致

情人节用python写个网站对ta表白吧!

数据工程师需要掌握的18个python库

用python制作动态图表看全球疫情变化趋势

更高级的数据可视化,使用pyecharts制作精美图表

钉钉在线求饶?五星分期付款?爬取钉钉App Store真实评价数据并分析


点个在看支持下吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘早起

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值