python制作数据增长动图_请问一下这种数据动图是如何做出来的?

用 Python 可以做这种数据动图,先上成果!如何用 Python 做数据动图https://www.zhihu.com/video/1075136852456951808

一般来说,这种视频都是用专业的动画软件做的特效,比如说 AE,普通人很难快速学会。

但如果用 Python 程序来实现的话,只要你有一个 Excel 文件,程序就可以根据里面的数据生成一张张图表,最后再拼成一个 gif 动图。再转成 mp4 配上音乐,视频就新鲜出炉了。

整个过程神奇又魔幻,连 gif 都是程序自动生成的。图表里的任何颜色都是可以在程序里面修改的。

如果你也想试试看的话,体验版代码如下:

import xlrd

import matplotlib.pyplot as plt

import imageio

def data_gif(cols, xlim_num, duration): # cols 展示前几列的数据,xlim_num x轴刻度值,duration 两张图片间的间隔,建议写0.2-0.5

plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签

plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号

frames = []

xlsx = xlrd.open_workbook('data_source.xlsx')

sheet = xlsx.sheet_by_index(0)

name_list = []

for j in range(1, int(cols)):

name_list.append(sheet.cell_value(0, j))

for i in range(1, sheet.nrows):

row_data_list = []

for j in range(1, int(cols)):

title = sheet.cell_value(i, 0)

row_data = sheet.cell_value(i, j)

row_data_list.append(float(row_data))

plt.xlim((0, int(xlim_num)))

plt.barh(name_list, row_data_list, color='blue')

plt.savefig("%s.png" % str(title))

plt.close('all')

im = imageio.imread("%s.png" % str(title))

frames.append(im)

imageio.mimsave('data_gif.gif', frames, 'GIF', duration=round(duration, 2))

data_gif(7, 1000, 0.5)

安装好所需的环境和库,然后运行代码就能直接生成你的数据动图啦!快来试试吧~

应评论要求,补上原始数据文件。

到公众号「麻瓜编程」回复D 获得原始文件和代码。

学 Python ≠ 100G 视频资料

学 Python ≠ 傻瓜式的在线填空题

只有多写实操项目,才能学的高效。只有建立自己的知识体系,才能学的踏实。

这是我们一直在强调的学习方法,试过的人都学成了,没听进去的人都吃亏了。于是这一次,我们把学习方法做进了课程体系里。

学习顺序按照「学习-测评-实操」进行,强制你多写代码多练习,让你学的高效。

课程按照「建立知识模型-用法必知必会-上手项目案例-系统学习脑图」的知识体系,逐个模块系统递进,既有完整实操项目从零到上线,又有系统脑图的体系化,让你学的踏实。

这是只在「Python 后端工程师培养计划」才有的学习体验。

查看课程目录、免费试听:Python 后端工程师培养计划​www.mugglecode.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值