时间线轮播多图

我们依旧以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(20152020):
        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来控制顺序输出每组数据。

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


©著作权归作者所有:来自51CTO博客作者mb5fe18e32e4691的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 技术解析:如何获取全球疫情历史数据并处理
  2. 疫情数据哪里找,看这篇就够了
  3. python数据分析——详解python读取数据相关操作
  4. 数据工程师需要掌握的18个python库
  5. Python一行命令生成数据分析报告
  6. 数据工程师面试必备——Python与数据库的那些事
  7. python数据分析之清洗数据:缺失值处理
  8. 钉钉在线求饶?五星分期付款?爬取钉钉App Store真实评价数据并分析
  9. python数据分析——在python中实现线性回归

随机推荐

  1. Android中Handler的使用
  2. Android View相关文章精选
  3. Android各版本对照及版本差异 (版本一)
  4. USB开发------android AOA开发
  5. [笔记]2012年移动大趋势(上)
  6. Android加载Gif和ImageView的通用解决方
  7. android之switch控件的用法
  8. Hybrid App混合开发实战
  9. Android电池管理系统系统分析
  10. Compile android source and kernel for