dalao自动报表邮件2.0


  经过昨天的修改优化后,dalao收到了不是“木马”的邮件,欣慰地点了点头,“不错,不错,这几张表设计的简洁明了,看着有货!不过呀,,,这些表的数据太多了一点,十几天的数据一大溜,能不能再简洁一点,做一个汇总的图,看起来一目了然!去吧,研究研究。”


    嗯咯,的确表太长了,数据太密集,虽然,该有的数据都有了,正文汇总浓缩的也到了一定极限,不能再继续汇总下去了,不然就没有数据的实际意义了,但是,指标一个一个的找,容易看岔,一点都不用户友好! dalao说的的确有道理,撸一张图出来就可以涵盖一张大表的信息了,掏出手机一看就能知道相关问题,把握整体趋势了,嘻嘻嘻~

    那就继续优化。。。

    dalao说要图,于是就有了echarts!

    python环境中画图能手得数matlibplot,不过,配色什么的都需要自己配置,而且自己配出来的必然丑,说起来还有些怀恋R语言里的ggplot,那是我年轻的时候用过的包。。。当然呢,matlibplot+seaborn也是不错的选择。

画图,我还是喜欢echarts,百度出品,值得信赖(此处五毛),文档完备友好,调用方便,可做炫酷到没朋友的交互图,关键是有中文版,嘻嘻~

pyecharts交互图

bar3d-demo

    第一次看到它的文档就抑制不住心里蠢蠢欲动想装逼的心,想给dalao炫一把,但是冷静的想想,我们的主战场是邮件正文,上次说过一切试图交互的手段都别想在邮件的地盘得逞。。。那就老实的画静态图吧,那个dalao容易接受一点,动态GIF看的头晕。

    撸起袖子加油干!

    首先研究一下pyecharts demo

1 from pyecharts
2 import Bar 
3 attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"] 
4 v1 = [5, 20, 36, 10, 75, 90] 
5 v2 = [10, 25, 8, 60, 20, 80] 
6 bar = Bar("柱状图数据堆叠示例") 
7 bar.add("商家A", attr, v1, is_stack=True) 
8 bar.add("商家B", attr, v2, is_stack=True) 
9 bar.render()

 

  需要注意的是,echarts需要的数据格式是按列来提取的,也就是要将表格数据转置,即行列互换。以下是知乎大佬的行列互换,代码简洁的令人惊诧!

 1 In [1]: a=[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]

2 In [2]: print map(list,zip(*a))

3 [[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]] 

这样我们就得到了供pyecharts绘图的数据弹药,一样的,我们使用jinja2模板将pycharts产生的图片塞到正文里,代码中增加addPic函数。

当当当,正文+表格+图片+附件的dalao自动报表邮件2.0就出炉了!

 

如果您有需要的话,关注微信公众号“正版乔”,回复“邮件”获取daolao自动报表2.0源码,查看更新代码~

万一明天dalao又有新的想法呢。。。

    附录:


 

一个学统计的程序员
喜欢Coding
喜欢硬件
喜欢树莓派
喜欢深度学习
喜欢你
posted @ 2019-01-03 18:36  正版乔  阅读(601)  评论(0编辑  收藏  举报