前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >技术解析:如何用pyecharts绘制时间轮播图

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

作者头像
刘早起
发布2020-04-22 15:16:29
发布2020-04-22 15:16:29
1.9K00
代码可运行
举报
文章被收录于专栏:早起Python早起Python
运行总次数:0
代码可运行

时间线轮播多图

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

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

代码语言:javascript
代码运行次数:0
复制
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。

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

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

代码语言:javascript
代码运行次数:0
复制
tl = Timeline()

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

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

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

代码语言:javascript
代码运行次数:0
复制
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来控制顺序输出每组数据。

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 早起Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 时间线轮播多图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档