使用Python绘制柱形竞赛图

我们经常看到的Bar Chart Race(柱形竞赛图),可以看到数据的呈现非常的直观。今天就一起来学习下如何生成和上面一样的柱形竞赛图。

1、导入Python库

2、加载数据集

这里使用的是城市人口数据集,加载我们想要的数据:其中,name为城市名称,group为城市所在区域。

3、初步处理数据

提取某一年的TOP10城市:

4、 绘制基础柱状图

5、 调整样式(设置颜色、添加标签)重新绘制图片

6、 完善代码,将代码整合进函数

优化内容:

  • 文字:更新字体大小,颜色,方向
  • 轴:将X轴移到顶部,添加颜色和字幕
  • 网格:在条后面添加线
  • 格式:逗号分隔的值和坐标轴
  • 添加标题,字幕,装订线空间
  • 删除:框框,y轴标签

7、 绘制动态柱状图

为了看起来像是在竞赛,我们使用matplotlib.animation中的FuncAnimation来重复调用上面的函数在画布上制作动画。frames参数为函数接受的值。

8、 额外奖励,绘制xkcd风格的图形

原文地址:https://towardsdatascience.com/bar-chart-race-in-python-with-matplotlib-8e687a5c8a41

matplotlib 的 animations使用说明

Matplotlib中动画实现的原理跟其它一样,就是让多幅图连续播放,每一幅图叫做一帧(frame)。

生成动画的核心语句如下:

核心函数是animation.FuncAnimation(),接下来一起学习下如何使用此函数。

参数说明:

  • fig:进行动画绘制的figure
  • func:更新函数
  • frames:传入更新函数的迭代值,即生成每一帧(frame)的参数
  • init_func:初始函数
  • fargs:传入更新函数的额外参数
  • save_count:指定保存动画(gif或mp4)的帧数
  • interval:指定帧间隔时间,单位是ms
  • repeat_delay:如果指定了循环动画,则设置每次循环的间隔时间
  • repeat:指定是否循环动画
  • blit:是否优化绘图
  • cache_frame_data:控制是否缓存帧数据

核心方法说明:

  • save(self, filename[, writer, fps, dpi, …]):将动画保存为文件(gif或mp4).
  • to_html5_video(self[, embed_limit]):将动画HTML5动画
  • to_jshtml(self[, fps, embed_frames, …]):将动画返回为HTML格式
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

分层时间记忆HTM学习笔记

分层时间记忆算法(Hierarchical Temporal Memory),全称HTM Cortical L

Expedia异常检测项目Adaptive Alerting

Adaptive Alerting(AA)是Expedia开源的异常检测项目,整个项目也是完整一套监控体系,包

格兰杰因果关系检验学习笔记

格兰杰因果关系检验简介 格兰杰因果关系检验(英语:Granger causality test)是一种假设检定

发表评论

电子邮件地址不会被公开。 必填项已用*标注