超简单,百行Python代码制作动态条形图跳舞

见过仙女蹦迪吗?一起用python做个小仙女代码蹦迪视频 前言 最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿遍又亿遍,久久不能离开! 看着小仙紫姐姐的蹦迪视频,除了一键三连还能做什么?突发奇想,能不能把舞蹈视频转成代码舞呢? 说干就干,今天就手把手教大家如何把跳舞视频转成代码舞,跟着仙女姐姐一起蹦起来~ 视频来源:【紫颜】见过仙女蹦迪吗 【千盏】 一、核心功能设计 总体来说,我们需要分为以下几步完成: 从B站上把小姐姐的视频下载下来 对视频进行截取GIF,把截取的GIF通过ASCII Animator进行ASCII字符转换 把转换的字符gif根据每 阅读详情

打码不易,不想被白嫖,有需要完整代码和GDP数据集的同学,可以对本文点赞,在看,和分享后在公众号“算法美食屋”后台回复关键字:动态图,添加作者微信获取。感谢支持。????

先上图片:

再上视频:

最后上代码:

import numpy as np 
import pandas as pd 
import matplotlib as mpl 
from matplotlib import pyplot as plt 
import matplotlib.animation as  animation 

import imageio
import os 
import cv2
from PIL import Image

cmap = [
'#2E91E5',
'#1CA71C',
'#DA16FF',
'#B68100',
'#EB663B',
'#00A08B',
'#FC0080',
'#6C7C32',
'#862A16',
'#620042',
'#DA60CA',
'#0D2A63']*100

def bar_chart_dance(df,filename = None,title = "",figsize = (6,3.5),dpi = 144,duration = 2):
    
    assert filename is None or filename.endswith(".html"), "filename should like *.html!"
    
    fig,ax = plt.subplots(figsize=figsize,dpi=dpi)
    ax.set_facecolor("0.9")

    # 调整spines
    ax.spines["top"].set_visible(False)
    ax.spines["right"].set_visible(False)
    ax.spines["left"].set_visible(False)
    ax.spines["bottom"].set_visible(False)

    def plot_frame(i):
        
        # 添加文本
        ax.clear() 
        ax.set_title(title)
        ax.text(0.05,0.85,f"{df.iloc[i-1,0]}:{df.iloc[i-1,1]}",
                transform = ax.transAxes, ha = "left")

        if i <8:
            xdata = df.iloc[0:i,0].tolist() 
            ydata = df.iloc[0:i,1].tolist() 
            colors = cmap[0:i]
            ax.bar(xdata,ydata,color =colors,zorder = 4)

            plt.xticks(range(8),xdata,horizontalalignment = "center",rotation = 0)
            
            values = df.iloc[:8,1].values

            ylim = (values.min(),values.max())
            ax.set_ylim(ymin = ylim[0]-(ylim[1]-ylim[0])/10,ymax = ylim[1]+(ylim[1]-ylim[0])/10)
            ax.set_xlim(xmin = -0.6,xmax = 6.6)
            ax.tick_params(bottom = False,left = False,labelsize = 8,direction = "in",length = 2)

        else:

            xdata = df.iloc[i-7:i,0].tolist() 
            ydata = df.iloc[i-7:i,1].tolist() 
            colors = cmap[i-7:i]
            ax.bar(xdata,ydata,color =colors)

            plt.xticks(range(8),xdata,horizontalalignment = "center",rotation = 0)

            values = df.iloc[i-7:i,1].values

            ylim = (values.min(),values.max())
            ax.set_ylim(ymin = ylim[0]-(ylim[1]-ylim[0])/10,ymax = ylim[1]+(ylim[1]-ylim[0])/10)
            ax.set_xlim(xmin = -0.6,xmax = 6.6)
            ax.tick_params(bottom = False,left = False,labelsize = 8,direction = "in",length = 2)
            
    my_animation = animation.FuncAnimation(fig,plot_frame,frames = range(1,len(df)+1),interval = int(duration*1000))
    if filename is None:
        try:
            from IPython.display import HTML
            HTML(my_animation.to_jshtml())
            return HTML(my_animation.to_jshtml())
        except ImportError:
            pass
    else:
        my_animation.save(filename)
        return filename


df = pd.read_csv("./data/gdp_china_2019.csv")
df = df[["省份","人均GDP"]].sort_values("人均GDP")
df["省份"] = [x if "自治区" not in x else x[0:2] for x in df["省份"]]
df["人均GDP"] = [int(x) for x in df["人均GDP"]]
df.index = range(len(df))

html_file = "bar_chart_dance.html"
bar_chart_dance(df,filename = html_file,title = "中国大陆各省市2019人均GDP(人民币)")

主要思路是构建plot_frame函数逐帧绘制图像,再用matplotlib的animation模块制作动画。

收工。????

打码不易,不想被白嫖,有需要完整代码和GDP数据集的同学,可以对本文点赞,在看,和分享后在公众号“算法美食屋”后台回复关键字:动态图,添加作者微信获取。感谢支持。????

用 Python 让你的 PPT 数据动起来 在读技术博客的过程中,我们会发现那些能够把知识、成果讲透的博主很多都会做动态图表。他们的图是怎么做的?难度大吗? 这篇文章就介绍了 Python 中一种简单的动态图表制作方法。 数据暴增的年代,数据科学家、分析师在被要求对数据有更深的理解与分析的同时,还需要将结果有效地传递给他人。如何让目标听众更直观地理解?当然是将数据可视化啊,而且最好是动态可视化。 本文将以线型图、条形图和饼图为例,系统地讲解如何让你的数据图表动起来。 这些动态图表是用什么做的? 接触过数据可视化的同学应该对 Python 里的 M 阅读详情

相关推荐

Python入门300行代码

python入门300行代码

Fdreamy的博客 2381

python绘图编程100例_Python作图程序

#coding=utf-8import pylab as y #引入pylab模块x = y.np.linspace(-10, 10, 100) #设置x横坐标范围和点数y.plot(x, x*x*x,'or') #生成4102图像1653ax = y.gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color(...

weixin_39901571的博客 1158

用Python简单代码实现炫酷动态条形图

通过使用Python的绘图库,可以轻松地创建动态条形图并在网页或桌面应用程序中展示数据。不仅如此,Python的简单易用的语法可以在几行代码中实现复杂的图形。

Mr数据杨 3万+

python函数ppt_如何用 Python 让你的PPT数据动起来

作者:Costas Andreou机器之心编译参与:Jamin、张倩在读技术博客的过程中,我们会发现那些能够把知识、成果讲透的博主很多都会做动态图表。他们的图是怎么做的?难度大吗?这篇文章就介绍了 Python 中一种简单的动态图表制作方法。数据暴增的年代,数据科学家、分析师在被要求对数据有更深的理解与分析的同时,还需要将结果有效地传递给他人。如何让目标听众更直观地理解?当然是将数据可视化啊,而且...

weixin_36378951的博客 530

使用Python创建动态条形图

在数据可视化中,条形图是一种常用的图表类型,用于显示不同类别的数据之间的比较。Python提供了各种库和工具来生成条形图,其中包括Matplotlib和Seaborn。本文将介绍如何使用Python生成动态条形图,并提供相应的源代码。运行上述代码,您将看到一个动态的条形图,每次迭代都会更新条形图的高度,并显示相应的标题。接下来,我们将使用Matplotlib库生成动态条形图。导入需要的库:我们导入了Matplotlib和NumPy库来生成图表和处理数据。在该函数中,我们生成新的随机数据,并使用。

2301_79366435的博客 374

跟着音乐起舞的程序:跳舞的小人

本文还有配套的精品资源,点击获取 简介:标题“跳舞的小人”描述了一个程序或游戏,其中的人物能够根据音乐节奏进行舞蹈动作。这种程序或游戏通常涉及音频分析和图形动画技术,使得人物模型能够实时地根据音乐节拍进行相应的舞蹈动作。这类软件可能受到儿童或青少年的喜爱,并且可能通过PCHome这样的下载平台提供下载。核心文件"MP3Dancer"表明程序能够处理MP3格式的音乐文件,并将...

weixin_36184718的博客 1484

python制作代码舞视频来啦~

上一篇文章我们介绍了如何制作字符画视频,今天就来给大家介绍一下代码舞的视频制作首先是原版接着是黑白版的最后是彩色版的是不是看着很nice呢,哈哈哈哈第一步首先我们要准备一个视频,然后我们需要把视频转化为gif图片视频转化为gif的方式途径有很多,我这里是在这个网站里面转化的第二步在这里我们需要借助到一个工具 第一个框框是图片的位置,第二个框框是文件输出的位置,一般不需要改,上传图片后,我们点击Settings选项 Output type有三个选项,第一个是生成一个html文件,第二个是生成黑白的代码gif

m0_64336780的博客 6039

Shopee滑块验证码太刁钻?手把手教你用Python+Playwright绕过弧形验证(附影刀RPA接入代码)

本文详细介绍了如何使用Python和Playwright结合SadCaptcha第三方服务高效破解Shopee平台的弧形滑块验证码,并集成到影刀RPA工作流中。该方案开发周期短、准确率高(>90%),特别适合跨境电商自动化操作,已在实际项目中验证成功。

weixin_29284657的博客 570

广场舞python代码

这是一次使用python解决2016蓝桥杯广场舞问题的尝试

m0_65137241的博客 487

学习心得——COMSOL Multiphysics with MATLAB联合仿真及寻优计算

学习心得——COMSOL Multiphysics with MATLAB联合仿真及寻优计算

weixin_41678956的博客 8658

差分分析.

差分分析是一种强大的密码攻击技术,通过研究明文差分与密文差分的关系来破解加密算法。本文系统介绍了差分分析的核心概念和方法: 基础差分分析:通过异或运算抵消密钥影响,利用差分分布表(DDT)寻找高概率差分特征,以FEAL-4为例展示了具体攻击过程。 高级差分技术:包括截断差分分析(关注部分特征)、不可能差分分析(排除概率为0的路径)和飞来去器分析(将算法分段处理)。 自动化搜索方法:介绍了松井算法和MILP(混合整数线性规划)方法,将差分路径搜索转化为数学优化问题。 这些方法展现了差分分析从基础理论到现代应用

weixin_61562383的博客 787

详解用 matplotlib 绘制动态条形图

详解用 matplotlib 绘制动态条形图 端午安康! 近日看到联合国网站提供的世界人口数据集,其中一个子数据集包含了各国 1950-2015年的人口数据。 假日值班,有自由的时间,就基于这个数据集,用 matplotlib 实现了一个世界人口 66 年变化的动态条形图。 最后的 gif 图: 下面把实现的主要步骤记录下来。原始数据、详细的源代码请到 QQ群:python草堂,457079928 下载,有问题也可以到那里讨论。 数据集介绍 ‘population_estimates.csv’ ,逗号分隔

Python草堂的博客 5145

机器学习初探——用线性回归预测股价趋势

在进入代码之前,先建立一个大框架。类型一句话解释金融中的应用监督学习给机器“标准答案”让它学预测股价(历史数据→未来价格)无监督学习不给答案,让机器自己找规律把相似股票自动归类、发现异常交易强化学习让机器通过“试错”学习最优策略AI自动交易、量化策略优化我们现阶段只学“监督学习”——这是最常用、最容易上手的。准备一堆“特征”和对应的“标签”(比如:历史的第N天 → 那天的价格)喂给机器一个“算法”(比如线性回归)机器“拟合”出一个规律(比如找到一条最合适的直线)

111

Python系列:几行代码制作好看的图表

Python作为当前流行开发语言,不仅可以用于web网站的开发、自动化框架的设计等,也可用于到大数据领域,在大数据领域方面,我们不仅需要获取到大量的数据,并且还要将这些数据进行整合便于后续的使用和分析,而数据的整合最好的方式就是使用可视化的方式将数据变现出来,所以今天我们就学习python中的matplotlib库和seaborn的使用。在Python中,我们可以使用matplotlib库和seaborn库来生成各种图表。

m0_70486148的博客 1147

【社招算法经验贴】算法社招记录

总的来说,也是收获了七七八八的offer,给的涨幅40~100%,职级有的可以对标到 p7(但阿里p7是真难a,a不动)。面了一圈下来,感觉大模型也在收缩hc。尤其是多模态相关hc。凭着上学期间做过相关视觉的work和paper,社招虽然能进面试,但是hc少得可怜,多模态已死慎入。还有大模型应用算法给的涨幅,跟搜广推的涨幅差别不大。真正能几百万往上的是基座pretrain/后训练/infra,但是全靠social和conn,hc极少。

Danger的博客 987

StarRC:版本陈旧引发的多corner提取RC失败

运行StarRC提取多corner RC时会遇到提取失败的情况,当分次提取各个corner RC时却成功了,这种时候优先考虑nxtgrd版本陈旧的情况。解决办法是找到nxtgrd对应的itf文件,然后使用新版starrc去产生nxtgrd。debug方法也简单,在运行StarRC开始阶段会报告如下信息,就证明nxtgrd太老了。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1831

【数据可视化】动态条形图Python代码实现

本文将介绍如何使用 Python 编程语言中的 `bar_chart_race_cn` 库创建动态条形图。我们将从准备数据开始,逐步解释代码中的每个部分,包括用户输入、数据读取、设置中文字体和样式,以及创建动态图表。通过本文,读者将学会如何制作令人印象深刻的动态数据可视化图表。

记录我的学习历程 2143

【Unity动画优化插件】BT - OptiAnimX —— AAA级动画优化框架深度剖析

BT - OptiAnimX 是一款面向 Unity 的高性能动画优化框架,核心目标是解决多角色动画场景中的性能瓶颈问题。该插件对标《战争机器5》和《巫师3》等 AAA 游戏中的动画优化技术,通过一整套自动化与智能化的优化策略,将动画性能提升与视觉质量控制结合在一起。它适用于从移动端、VR 到高端 PC 的多平台项目,尤其在“多人角色 + 高频动画”的场景中表现突出,例如 MMO、开放世界、动作游戏等。BT - OptiAnimX 本质上是一套“动画性能调度系统”,而不仅仅是优化工具。

2403_88403568的博客 433

最简单方法!!用python生成动态条形图(解决报错问题!)

文章目录1. 安装第三方包: bar_chart_race 最近非常流行动态条形图,在B站等视频网站上,此类视频经常会有上百万的播放量,今天我们通过第三方库:bar_chart_race (0.2 版本)来实现动态条形图的生成; 1. 安装第三方包: bar_chart_race 首先,我们要明白:只有 0.2版本才支持动态条形图,所以我们必须保证我们安装的第三方库为 0.2版本; 遗憾的是,我们通过pip install bar_chart_race 命令安装的第三方包,版本是0.1,也无法升级;所以,这

weixin_47139649的博客 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python绘制动态条形图_【数据可视化】超燃动态排名条形图的制作方法

做为干数据分析的,数据可视化是必备的技能,最近经常在网上看到动态排名条形图,这种动态排名条形图能很好的表达在某一个时间周期,随着时间的变化,各参数指标的增减变化,形象直观,让人很容易理解。加上BGM(背景音乐),那一个气势磅礴。那这种动态排名图怎么制作的呢?用EXCEL?也可以。不要小瞧EXCEL,它也能制作出来,但它制作出来的美观度就差了一点。那用python呢?更是当然。万能的python怎么...

weixin_40001442的博客 1203

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

仅需30秒,用Python制作动态条形图

【代码】【无标题】

慕易行者的博客 559

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

用Python让小朋友的手绘图跳起来

这个项目目前仅在macOS和Ubuntu系统上测试过,Windows系统会出问题。本人使用的是。

zhishi0000的博客 974

Python之抖音快手代码舞--字符舞

先上效果,视频敬上: 字符舞: 代码舞 源代码: video_2_code_video.py import argparse import os import cv2 import subprocess from cv2 import VideoWriter_fourcc from PIL import Image, ImageFont, ImageDraw # 命令行输入参数处理 #

一个超会写Bug的程序猿的博客 5619

100行python代码,轻松完成贪吃蛇小游戏

大家小时候都玩过贪吃蛇吧?小编小时候可喜欢拿爸妈的手机玩了,厉害着呢!今天,小编就来用100行代码实现一个简易版的贪吃蛇。在网上,贪吃蛇教程蛮多的,但要安装蛮多库的,而且也不够清晰,今天...

华章IT官方博客 590

[python]bar_chart_race绘制动态条形图

最近在 B 站上看到了一个宝藏 up 主,名叫 "Jannchie见齐",专门做动态条形图相关的数据可视化。可以看到做出的效果还是很不错的,但工具使用的是 JS,不是 Python,于是尝试搜索了一下,看看 Python 有没有相关的库能够做出动态条形图相关的效果。幸运的是还真有相关的库,叫 bar_chart_race,...

jiaworld的博客 968
上一篇: 用Python优雅地制作动态条形图
下一篇: 超动感,百行Python代码制作动态气泡图
算法美食屋
博客等级 码龄9年 2万+粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值