当前位置: 首页 > 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知识。

相关文章:

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

5行代码生成自动排序动图1、引言2、代码实战2.1 pynimate介绍2.2 pynimate安装2.3 代码示例3、总结1、引言 小屌丝:鱼哥,听说你的excel段位又提升了? 小鱼:你这是疑问的语气? 小屌丝:没有~ 吧… 小鱼&…...

【Java SE】变量的本质

目录一. 前言二. 变量(variable)2.1 性质2.2 变量类型2.2.1 核心区别2.3 变量的使用三. 总结一. 前言 一天一个Java小知识点,助力小伙伴更好地入门Java,掌握更深层次的语法。 二. 变量(variable) 2.1 性质 变量本质上就是代表一个”可操作的存储空间”…...

【Android笔记85】Android之使用Camera和MediaRecorder录制视频

这篇文章,主要介绍Android之使用Camera和MediaRecorder录制视频。 目录 一、录制视频 1.1、案例运行效果 1.2、创建Camera对象 1.3、创建MediaRecorder对象...

MySQL集群搭建与高可用性实现:掌握主从复制、多主复制、负载均衡和故障切换技术,让你的MySQL数据库永不宕机!

MySQL集群和高可用性MySQL是一款广泛使用的关系型数据库管理系统,常用于Web应用和企业级应用中。为了提高MySQL的可用性,我们可以通过搭建MySQL集群和实现高可用性来保障数据的稳定性和可靠性。本文将介绍如何搭建MySQL集群和实现高可用性,包…...

收到6家大厂offer,我把问烂了的《Java八股文》打造成3个文档。共1700页!!

前言大家好,最近有不少小伙伴在后台留言,近期的面试越来越难了,要背的八股文越来越多了,考察得越来越细,越来越底层,明摆着就是想让我们徒手造航母嘛!实在是太为难我们这些程序员了。这不&#…...

多线程 (六) 单例模式

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…...

Docker入门到放弃笔记之容器

1、启动容器1.1容器hello world1.2 容器bash终端1.3 后台运行容器是 Docker 三大核心概念之一,其余两个是镜像与仓库。本文主讲容器。简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟…...

项目二 任务三 训练5 交换机的HSRP技术

在“项目二 任务三 训练4 交换机的DHCP技术”基础上继续完成下列操作: 1、二层交换机50-2的配置 50-2>en 50-2#conf t Enter configuration commands, one per line. End with CNTL/Z. 50-2(config)#int 50-2(config)#interface g 50-2(config)#interface gigab…...

计算机网络复习重点

文章目录计算机网络复习重点第一章 计算机网络和因特网概念与应用1、什么是因特网2、协议protocol3、入网方式4、物理媒介5、数据交换模式6、延时与丢包什么时候发生延时?延时的类型丢包何时发生7、协议层次与模型因特网协议栈TCP / IP模型ISO/OSI参考模型协议数据单…...

算法基础---基础算法

文章目录 快速排序归并排序二分 整数二分浮点数二分高精度 高精度加法高精度减法高精度乘法高精度除法前缀和 一维前缀和二维前缀和差分 一维差分二维差分双指针位运算离散化区间合并一、快速排序 思想:1.首先确定一个分界点(随机取任意一点为…...

linux中写定时任务

场景:我们生产环境中有大量的日志记录,但是我们的磁盘没有太大,需要定时清理磁盘 文章目录crond 定时任务详解安装定时任务crontab服务启动与关闭crontab操作crontab 命令test.sh查看日志丢弃linux中的执行日志Linux进入nano模式方式一方式二…...

2023.3.21

6&#xff1a;有序数组中找到num // arr保证有序&#xff0c;在arr数组中寻找num&#xff0c;二分查找public static boolean find(int[] arr, int num) {if(arr null || arr.length 0) {return false;}int L 0;int R arr.length - 1;while (L < R) {int mid (L R) /…...

制作数据库框架

一 利用前端条件组装sql与查询条件的集合public void handle() throws Exception{Map<String,String> requestMap new HashMap();String fromdate requestMap.get("fromdate");String todate requestMap.get("todate");String resultcode reque…...

Winbond W25Qxx SPI FLASH 使用示例(基于沁恒CH32V307单片机)

文章目录目的基础说明使用示例总结目的 Winbond&#xff08;华邦&#xff09;的 W25Qxx 系列 SPI FLASH 是比较常用的芯片&#xff0c;这篇文章将演示单片机中通过SPI使用该芯片的操作过程。 本文使用沁恒官方的开发板 &#xff08;CH32V307-EVT-R1沁恒RISC-V模块MCU赤兔评估…...

贪心算法的原理以及应用

文章目录0、概念0.1.定义0.2.特征0.3.步骤0.4.适用1、与动态规划的联系1.1.区别1.2.联系2、例子3、总结4、引用0、概念 0.1.定义 贪心算法&#xff08;greedy algorithm &#xff0c;又称贪婪算法&#xff09;是指&#xff0c;在对问题求解时&#xff0c;总是做出在当前看来是…...

WebRTC拥塞控制原理之一基本介绍

1 基本原理 WebRTC的拥塞控制模块使用的是基于TCP的拥塞控制算法。它是根据网络带宽和延迟等信息来自适应地调整传输速率的。 具体来说&#xff0c;该模块采用的是基于RFC 3550中的延迟抖动调整算法的改进版本。该算法实施的基本原理是在传输的过程中定期探测网络的质量和延迟…...

选择 .NET 的 n 个理由

自从我们启动快速发展的 .NET 开源和跨平台项目以来&#xff0c;.NET 发生了很大变化。我们重新思考并完善了该平台&#xff0c;添加了专为性能和安全性而设计的新低级功能&#xff0c;以及以生产力为中心的高级功能。Span<T>、硬件内在函数和可为空的引用类型都是示例。…...

spark第三章:工程化代码

系列文章目录 spark第一章&#xff1a;环境安装 spark第二章&#xff1a;sparkcore实例 spark第三章&#xff1a;工程化代码 文章目录系列文章目录前言一、三层架构二、拆分WordCount1.三层拆分2.代码抽取总结前言 我们上一次博客&#xff0c;完成了一些案例的练习&#xff0…...

Vue实战【封装一个简单的列表组件,实现增删改查】

文章目录&#x1f31f;前言&#x1f31f;table组件封装&#x1f31f;父组件&#xff08;展示表格的页面&#xff09;&#x1f31f;控制台查看父子组件通信是否成功&#x1f31f;Vue2父子组件传递参数&#x1f31f;写在最后&#x1f31f;JSON包里写函数&#xff0c;关注博主不迷…...

微前端(无界)

前言&#xff1a;微前端已经是一个非常成熟的领域了&#xff0c;但开发者不管采用哪个现有方案&#xff0c;在适配成本、样式隔离、运行性能、页面白屏、子应用通信、子应用保活、多应用激活、vite 框架支持、应用共享等用户核心诉求都或存在问题&#xff0c;或无法提供支持。本…...

从‘torch not found’到成功训练:一个YOLOv8环境配置的完整避坑实录(含CUDA/cuDNN版本选择)

YOLOv8环境配置终极指南&#xff1a;从版本匹配到显存优化的全流程实战 在计算机视觉领域&#xff0c;YOLOv8作为目标检测的标杆算法&#xff0c;其安装配置过程却常常成为开发者的"拦路虎"。本文将带你系统解决从PyTorch版本选择、CUDA环境配置到显存优化的全链路问…...

如何一键下载国内主流视频平台的在线视频:Video-Downloader完全指南

如何一键下载国内主流视频平台的在线视频&#xff1a;Video-Downloader完全指南 【免费下载链接】Video-Downloader 下载youku,letv,sohu,tudou,bilibili,acfun,iqiyi等网站分段视频文件&#xff0c;提供mac&win独立App。 项目地址: https://gitcode.com/gh_mirrors/vi/V…...

像素语言传送门效果实测:Hunyuan-MT-7B对中文网络新词(如‘绝绝子‘)的跨语种意译能力

像素语言传送门效果实测&#xff1a;Hunyuan-MT-7B对中文网络新词&#xff08;如绝绝子&#xff09;的跨语种意译能力 1. 测试背景与工具介绍 像素语言跨维传送门是基于腾讯Hunyuan-MT-7B翻译引擎构建的创新翻译工具。与传统翻译软件不同&#xff0c;它将语言转换过程设计成一…...

Linux七大常见误解与真相解析

1. Linux 神话的起源与现状Linux 作为开源操作系统的代表&#xff0c;自1991年诞生以来就伴随着各种误解和神话。这些误解往往源于早期Linux的使用门槛较高、图形界面不够完善等历史原因。但经过30多年的发展&#xff0c;现代Linux发行版已经发生了翻天覆地的变化。在技术社区中…...

淘宝虚拟商品选品实操:从儿童学习资料到游戏攻略的蓝海挖掘术

淘宝虚拟商品选品高阶指南&#xff1a;从儿童教育到游戏产业的精细化运营策略 在淘宝虚拟商品领域&#xff0c;真正能够持续盈利的卖家往往不是那些追逐热门品类的跟风者&#xff0c;而是懂得在细分市场中寻找差异化机会的"蓝海猎手"。儿童学习资料和游戏攻略这两个看…...

从零搭建到百万QPS:Python MCP服务器模板实战对比(含Docker镜像体积、CI/CD兼容性、调试友好度全维度打分)

第一章&#xff1a;从零搭建到百万QPS&#xff1a;Python MCP服务器模板实战对比总览在构建高并发、低延迟的MCP&#xff08;Model Control Protocol&#xff09;服务时&#xff0c;Python凭借其生态丰富性与开发效率成为主流选型之一&#xff0c;但原生GIL限制与异步模型差异常…...

Python与OPC UA实战:高效读写PLC数据

1. 为什么选择Python操作OPC UA&#xff1f; 在工业自动化领域&#xff0c;PLC&#xff08;可编程逻辑控制器&#xff09;就像工厂的"大脑"&#xff0c;而OPC UA则是让这个大脑与其他系统对话的"普通话"。作为Python开发者&#xff0c;我们经常需要从PLC读…...

2026年高压电磁阀制造厂大比拼:哪家更值得信赖?

在工业领域&#xff0c;高压电磁阀是许多关键系统的核心部件&#xff0c;其性能和可靠性直接关系到整个系统的稳定性和安全性。随着技术的不断进步和市场需求的多样化&#xff0c;选择一家值得信赖的高压电磁阀制造厂变得尤为重要。本文将从多个维度对比分析几家主流高压电磁阀…...

【软考高项】需求跟踪矩阵在项目全生命周期中的关键作用与实践指南

1. 需求跟踪矩阵&#xff1a;项目管理的"导航仪" 刚入行做项目经理那会儿&#xff0c;我最怕的就是需求变更。明明已经确认好的需求&#xff0c;开发到一半客户突然说要改&#xff0c;整个团队手忙脚乱地翻文档、改代码、调测试用例&#xff0c;最后交付时还是漏了几…...

TDAD:测试驱动的AI智能体开发

Test-Driven AI Agent Definition (TDAD) 论文核心原理解析与实例说明 TDAD 提示词演化逻辑与完整实例 TDAD的提示词演化,完全遵循测试驱动的闭环迭代逻辑:由TestSmith生成的visible tests(可见测试用例)作为唯一迭代标尺,PromptSmith智能体通过「失败用例根因分析→提示…...