当前位置: 首页 > news >正文

Python3,5行代码,生成自动排序动图,这操作不比Excel香?

5行代码生成自动排序动图

  • 1、引言
  • 2、代码实战
    • 2.1 pynimate介绍
    • 2.2 pynimate安装
    • 2.3 代码示例
  • 3、总结

1、引言

小屌丝:鱼哥,听说你的excel段位又提升了?
小鱼:你这是疑问的语气?
小屌丝:没有~ 吧…
小鱼:是没有,没有没有吧?
小屌丝:这… 正好我有一个难点,想请教你。
小鱼:那你说吧。
小屌丝:你制作一个动态排序图吗?
小鱼:这有何难,内容是啥,样式是啥?
小屌丝:就是这样的。

在这里插入图片描述

小鱼:就这??
小屌丝:嗯呢,就这。
小鱼:这有何难, 分分钟的事。
在这里插入图片描述

小屌丝:鱼哥,那看你的了。

2、代码实战

2.1 pynimate介绍

说到排序动图的制作, 我们第一反应就是 Excel 或者PPT。
因为这Excel的功能太强大,而且普及率非常高。

但是,今天,我们不用Excel来制作动态排序图,
而是用 python的一个很奈斯的库:pynimate。

可以说,pynimate就是为了动态可视化而生了。

小屌丝:这话说的,貌似没毛病。

只要区区几行代码,就可以实现上图中动态排序的效果。

小屌丝:听这话,应该很简单的样子。

2.2 pynimate安装

涉及到第三方库,肯定就需要安装
老规矩,pip 安装

pip install pynimate

然后就是等待着安装。

其它安装方式,直接看这两篇:

  • Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!
  • Python3:我低调的只用一行代码,就导入Python所有库!

2.3 代码示例

代码展示

# -*- coding:utf-8 -*-
# @Time   : 2023-02-12
# @Author : Carl_DJ'''
实现功能:pynimate 实现动态排序图
'''import pynimate as nim
import  pandas as pd
from matplotlib import pylab as plt#设置数据(只是假数据,不代表实际情况)
data = pd.DataFrame({"time": ["1998-01-01", "1999-01-01", "2000-01-01"],"changsha": [1, 2, 3],"wuhan": [2, 3, 4],"guangzhou": [1, 2, 5],"shanghai": [5, 3, 4],"beijing": [1, 4, 5],}
).set_index('time')cnv =  nim.Canvas()
bar = nim.Barplot(data, "%Y-%m-%d", "2d")
bar.set_time(callback=lambda  i ,datafier:datafier.data.index[i].strftime("%b, %Y"))
cnv.add_plot(bar)
cnv.animate()
#展示效果图
plt.show()#保存为gif格式
cnv.save("demo", 24, "gif")

运行效果
请添加图片描述

3、总结

看到这里,今天的分享差不多就该结束了。
小屌丝:鱼哥,这可以啊。比excel简单的太多了。
小鱼:低调低调,我一般也不随便展示实力。
在这里插入图片描述

我是小鱼

  • CSDN 博客专家;
  • 阿里云 专家博主;
  • 51CTO 博客专家;
  • 51认证讲师;
  • 金牌面试官&面试培训师;

关注我,带你学习更多更有趣的Python知识。

http://www.lryc.cn/news/41528.html

相关文章:

  • 【Java SE】变量的本质
  • 【Android笔记85】Android之使用Camera和MediaRecorder录制视频
  • MySQL集群搭建与高可用性实现:掌握主从复制、多主复制、负载均衡和故障切换技术,让你的MySQL数据库永不宕机!
  • 收到6家大厂offer,我把问烂了的《Java八股文》打造成3个文档。共1700页!!
  • 多线程 (六) 单例模式
  • Docker入门到放弃笔记之容器
  • 项目二 任务三 训练5 交换机的HSRP技术
  • 计算机网络复习重点
  • 算法基础---基础算法
  • linux中写定时任务
  • 2023.3.21
  • 制作数据库框架
  • Winbond W25Qxx SPI FLASH 使用示例(基于沁恒CH32V307单片机)
  • 贪心算法的原理以及应用
  • WebRTC拥塞控制原理之一基本介绍
  • 选择 .NET 的 n 个理由
  • spark第三章:工程化代码
  • Vue实战【封装一个简单的列表组件,实现增删改查】
  • 微前端(无界)
  • 强烈推荐:0基础入门网安必备《网络安全知识图谱》
  • 网络技术与应用概论(上)——“计算机网络”
  • JAVASE/封装、继承、多态
  • SpringBoot ElasticSearch 【SpringBoot系列16】
  • Virtual box磁盘大小调整操作
  • MySQL注入秘籍【上篇】
  • 简单三步解决动态规划难题,记好这三步,动态规划就不难
  • 算法进阶指南打卡
  • Chapter6.2:其他根轨迹及综合实例分析
  • 3. 无重复字符的最长子串——滑动窗口
  • ChatGPT研究分享:机器第一次开始理解人类世界