pyecharts日历热力图

2019-03-06  本文已影响0人  lutl

pyecharts是一个用于生成 Echarts 图表的类库
Echarts 是百度开源的一个数据可视化 JS 库
pyecharts中文文档
pyecharts已发布1.0版本,绘图部分代码已经重构 ,文中的代码虽然能用但已经落伍了,随缘更新

一、 安装pyecharts

pip install pyecharts
在安装pyecharts之后,需要安装pyecharts-snapshot包,还需要配置phantomjs环境

二、 绘制日历热力图

heatmap = HeatMap("朋友圈活跃度日历热力图", "某人 2018 年微信朋友圈每日发送条数", width=1100)
heatmap.add(
    "",
    data,  # 列表数据包含日期以及对应数据
    is_visualmap=True,  # 是否启用视觉映射组件
    visual_range=[0, 5],     # 组件所允许的最大值与最小值
    visual_text_color="#000",   # 组件两端文本颜色
    visual_range_text=["神隐", "微商"],  # 组件两端文本
    visual_range_color=["#D8BFD8", "#FFB6C1", "#EE82EE"],   # 过度颜色,Thistle,LightPink、Violet
    visual_orient="horizontal",     # 组件条的方向,vertical和horizontal可选
    visual_pos="center",    # 组件条距左侧的位置,left、center、right可选,也可用百分数或整数
    visual_top="80%",   # 组件条距离顶部的位置,有top、center、bottom可选,也可用百分数或整数
    # visual_split_number=4,  # 分段型中分段的个数
    # is_piecewise=True,  # 将组件转换为分段型,默认为连续型
    is_calendar_heatmap=True,   # 使用日历热力图
    calendar_cell_size=["auto", 30],    # 单元格大小,默认["auto", 20]
    calendar_date_range=["2018-3-9", "2019-3-10"],   # 日期跨度,可以为str/list
)
heatmap.render('moments.gif')

三、数据展示

连续型组件 分段型组件

四、 HeatMap关键字参数

visual_range=[0, 5]
visual_split_number=4
is_piecewise=True

在组件为分段型的条件下,visual_range用来控制数据跨度,通过visual_split_number就可以控制数据的分段个数,是一个组合套路

visual_range_color=["#D8BFD8", "#FFB6C1", "#EE82EE"]

用来自己调配过度颜色,默认颜色是['#50a3ba', '#eac763', '#d94e5d'],虽然本人配得也不怎么样,审美再次令人质疑

五、日历热力图的应用

可以对年度数据进行总结,微信步数、github的contributions
其实绘制朋友圈每日条数简直有毒,每天能发五条以上的除了微商也是没谁了,每日一两条的话,没有什么区分度

上一篇下一篇

猜你喜欢

热点阅读