matplotlib-bilibili,抖音很火的动态数据视频自动生成(第三节)

在之前的教程中,我们已经学习了如何生成动态的数据统计图,这次我们将这种方法应用于数据排行榜。

01— 柱形图实现

第一步:实现一个最简单的柱形统计图

让我们从一个简单的柱形图开始。

from matplotlib import pyplot  # 导入模块fig, ax = pyplot.subplots()  # 返回一个包含figure和axes对象的元组,将元组分解为fig和ax两个变量

def graph(num):ax.barh(1, num, color='#adb0ff') # 绘制水平方向的条形图barh()ax.barh(3, num, color='#ffb3ff') # 绘制水平方向的条形图barh()ax.barh(5, num, color='#90d595') # 绘制水平方向的条形图barh()pyplot.show()

graph(1)

实现结果如图所示:我们绘制了三条统计图。

matplotlib-bilibili,抖音很火的动态数据视频自动生成(第三节)

第二步:给每条柱体加上文字

现在我们为每条柱体添加文字。

ax.text(num, 1, "广东省", size=14, weight=600, ha='right', va='bottom')  # 添加文字并设置样式

第三步:解决乱码

由于中文可能会出现乱码,我们需要进行特殊处理。

from pylab import mplmpl.rcParams['font.sans-serif'] = ["SimHei"]mpl.rcParams['axes.unicode_minus'] = False

matplotlib-bilibili,抖音很火的动态数据视频自动生成(第三节)

第四步:赋予每条柱形不同的值,使其看起来在变动

我们引入math模块来为柱形图赋予不同的值。

matplotlib-bilibili,抖音很火的动态数据视频自动生成(第三节)

第五步:让我们的数据动起来

我们发现柱形图已经动起来了,但文字仍然静止。如何解决这个问题呢?

Sudowrite Sudowrite

对用户最友好的AI写作工具

Sudowrite 169 查看详情 Sudowrite

matplotlib-bilibili,抖音很火的动态数据视频自动生成(第三节)

from matplotlib import animationfrom matplotlib import pyplotfrom pylab import mplimport math

mpl.rcParams['font.sans-serif'] = ["SimHei"]mpl.rcParams['axes.unicode_minus'] = False

fig, ax = pyplot.subplots() # 返回一个包含figure和axes对象的元组,将元组分解为fig和ax两个变量

def graph(num):ax.clear() # 清除,不叠加ax.barh(1, num, color='#adb0ff') # 绘制水平方向的条形图barh()ax.text(num, 1, "广东省", size=14, weight=600, ha='right', va='bottom') # 添加文字并设置样式ax.barh(3, num / math.pi, color='#ffb3ff')ax.text(num / math.pi, 3, "北京省", size=14, weight=600, ha='right', va='bottom')ax.barh(5, num / math.tan(1), color='#90d595')ax.text(num / math.tan(1), 5, "云南省", size=14, weight=600, ha='right', va='bottom')pyplot.title('人口工作情况对比') # 添加图标题

animator = animation.FuncAnimation(fig, graph, frames=range(1, 100), interval=1)pyplot.show() # 移动到函数外面,不然不会动态显示

我们继续完善,实现动态效果:

matplotlib-bilibili,抖音很火的动态数据视频自动生成(第三节)

02— 完整代码

注意:保存视频或图片需要使用插件,并设置环境变量

在Windows上安装ffmpeg:

from matplotlib import animationfrom matplotlib import pyplotfrom pylab import mplimport math

mpl.rcParams['font.sans-serif'] = ["SimHei"]mpl.rcParams['axes.unicode_minus'] = False

fig, ax = pyplot.subplots() # 返回一个包含figure和axes对象的元组,将元组分解为fig和ax两个变量

def graph(num):ax.clear()if num == 50:ax.barh(1, 50, color='#adb0ff') # 绘制水平方向的条形图barh()ax.text(50, 1, "广东省", size=14, weight=600, ha='right', va='bottom') # 添加文字并设置样式if num == 70:ax.barh(3, num - 1, color='#ffb3ff')ax.text(num - 1, 3, "北京省", size=14, weight=600, ha='right', va='bottom')ax.barh(5, num, color='#90d595')ax.text(num, 5, "云南省", size=14, weight=600, ha='right', va='bottom')pyplot.title('人口工作情况对比') # 添加图标题

animator = animation.FuncAnimation(fig, graph, frames=range(1, 100), interval=1)animator.save(filename="数据.gif", writer='pillow') # 保存gifanimator.save(filename="数据.mp4") # 保存视频pyplot.show() # 移动到函数外才能正常显示

通过以上步骤,我们成功完成了动态数据视频的制作。

以上就是matplotlib-bilibili,抖音很火的动态数据视频自动生成(第三节)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/756644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
鲁汶仪器“一种闪耀光栅的制造方法”专利公布
上一篇 2025年11月25日 23:08:46
咖啡星矿工测评:相当硬核的休闲游戏
下一篇 2025年11月25日 23:08:47

相关推荐

  • Linux基础必知必会(一)

    文章目录 前言 一、初识Linux操作系统 二、网络配置原理 三、虚拟机网络配置原理 四、虚拟机网络环境配置 五、远程工具Xshell 六、Linux目录结构讲解 七、Linux常用的命令讲解 八、用户和用户组的管理 结语 前言 为什么需要学习Linux系统? 许多人可能疑惑,为什么在当前可视化操作…

    2026年9月22日
    1100
  • 抖音号如何升级成企业号?升级成企业号需要多久?

    随着短视频平台的迅猛发展,抖音已成为企业进行品牌宣传与用户运营的核心渠道。将普通个人账号升级为企业号,不仅能够解锁更多营销工具,还能增强品牌的权威性与可信度。 一、抖音个人号怎样升级为企业号? 确认基本条件 在申请前,需确保账号已完成实名认证,且未有违反社区规范的行为。个人账号必须绑定手机号,并完善…

    2026年9月22日
    600
  • win11保存Hosts文件时提示权限不足怎么办_win11Hosts文件权限不足解决方法

    首先通过修改文件属性安全权限或以管理员身份运行编辑器解决Hosts文件保存权限问题,具体可选择:1、调整Hosts文件安全选项卡中的用户权限;2、右键以管理员身份运行记事本后打开并修改;3、通过管理员命令提示符执行notepad命令直接编辑并保存。 如果您尝试修改 Windows 11 系统中的 H…

    2026年9月22日
    200
  • Java类中Jackson @JsonNaming策略的运行时内省

    本文介绍如何在运行时动态内省Java类上通过@JsonNaming注解配置的Jackson PropertyNamingStrategy。通过利用ObjectMapper的SerializationConfig和JacksonAnnotationIntrospector,开发者可以编程方式获取类的命…

    2026年9月22日
    500
  • windows怎么恢复已删除的输入法_已卸载输入法恢复技巧

    首先通过语言设置重新添加输入法,进入设置→时间和语言→语言和区域→语言选项→键盘→添加所需输入法;若无效可使用控制面板,在区域和语言中更改键盘设置并添加;还可从其他设备导出注册表中Keyboard Layout与InputMethod相关项导入本机;最后可通过系统还原点恢复删除前的输入法配置。 如果…

    2026年9月22日
    300
  • VSCode安装C/C++文档查看 提升开发效率的VSCode技巧

    答案是利用C/C++扩展和cppreference插件实现高效文档查阅。首先安装微软官方C/C++扩展,启用智能感知与悬停提示;再安装cppreference扩展,通过命令面板直接搜索标准库函数,实现离线在线无缝查阅;结合Doxygen生成项目文档,使用“转到定义”功能快速跳转源码;同时借助Inte…

    2026年9月22日
    000
  • 高效利用 PriorityQueue 合并并排序多个列表

    本教程详细阐述了如何使用 Java 的 PriorityQueue 高效地合并并排序多个整数列表。文章首先指出将列表作为元素放入 PriorityQueue 的常见误区,进而纠正为应将单个整数元素放入队列。接着,它演示了如何正确声明、填充 PriorityQueue,并强调了通过循环调用 poll(…

    2026年9月22日
    300
  • 怎么在抖音平台上卖货?怎么加入平台卖货

    短视频平台如雨后春笋般涌现。其中,抖音凭借其强大的社交属性和海量的用户群体,成为了众多商家眼中的“香饽饽”。如何在抖音平台上卖货呢?本文将为您详细解析抖音电商新风口,分享玩转抖音平台卖货的攻略。 一、了解抖音电商生态 1. 抖音电商模式 抖音电商采用“社交+电商”的模式,商家通过发布短视频、直播等形…

    2026年9月22日
    000
  • 如何配置Android开发环境 Android Studio安装与JDK配置方法

    答案:配置Android开发环境需先安装JDK并设置环境变量,再下载安装Android Studio,配置SDK及虚拟设备,最后创建项目测试。具体步骤包括:1. 安装JDK 17并配置JAVA_HOME和Path;2. 从官网下载Android Studio并安装,自动集成SDK;3. 通过SDK …

    2026年9月22日
    100
  • ClipStudioPaintPro如何导出AI漫画图片?保存图像的详细指南

    导出AI漫画图片需通过Clip Studio Paint Pro的“文件”菜单选择“导出”,根据用途选单页、多页或Webtoon导出,推荐PNG用于高质量或透明背景需求,JPG用于网络分享以平衡文件大小与画质,设置300dpi以上分辨率确保清晰度,色彩配置选用sRGB保障跨平台一致性,批量导出时利用…

    2026年9月22日
    100
  • 怎么在抖音商城卖货?抖音怎么开店卖自己的产品

    短视频平台抖音已成为国内最具影响力的社交平台之一。作为其电商体系的重要组成部分,抖音商城吸引了大量商家和创业者的关注。如何利用抖音商城进行商品销售成为当下热议的话题。本文将从五个关键方面分享抖音商城带货技巧,助你轻松实现业绩增长。 一、掌握平台规则,洞察市场趋势 1. 熟悉平台机制:入驻前需了解抖音…

    2026年9月22日
    100
  • Laravel 8 注册成功但登录失败的解决方案

    本文针对 Laravel 8 中使用 php artisan ui:auth 生成的认证系统,注册功能正常但登录功能失效的问题,提供了一种解决方案。通过重写 LoginController 中的 username() 方法,将认证字段从默认的 email 修改为 username,从而解决登录失败的…

    2026年9月22日
    100
  • 如何在GravitDesigner中使用AI裁剪图片?快速掌握裁剪技巧

    如何在GravitDesigner中使用AI裁剪图片?快速掌握裁剪技巧如何在GravitDesigner中使用AI裁剪图片?快速掌握裁剪技巧如何在GravitDesigner中使用AI裁剪图片?快速掌握裁剪技巧如何在GravitDesigner中使用AI裁剪图片?快速掌握裁剪技巧

    Gravit Designer没有内置AI智能抠图功能,但通过形状裁剪(剪切蒙版)、路径编辑和布尔运算等工具组合,可实现高精度、非破坏性的精细化裁剪。其“智能”体现在非破坏性编辑、矢量级精度和工具协同的灵活性,虽需手动操作,却能完全掌控裁剪过程,适合追求专业输出的设计师。 ☞☞☞AI 智能聊天, 问…

    2026年9月22日 用户投稿
    100
  • 抖音直播送红包是真的吗?抖音上发红包是什么套路

    随着抖音直播带货的兴起,越来越多的商家和用户参与其中。而“抖音直播送红包”这一现象也引发了广泛讨论——有人认为是促销手段,也有人相信这是平台给予的真实福利。那么,抖音直播送红包到底是不是真的呢?本文将从多个角度进行分析。 一、抖音直播送红包是如何运作的? 1. 红包活动的背后逻辑 这种活动通常由商家…

    2026年9月22日
    000
  • 虎卫战神AI巡航玩法指南

    虎卫战神AI巡航玩法指南虎卫战神AI巡航玩法指南虎卫战神AI巡航玩法指南虎卫战神AI巡航玩法指南

    在《虎卫战神》中,战力的提升始终是每位玩家的核心目标。无论是装备强化、任务奖励、主公升阶,还是转生炼体,各类成长系统都离不开关键材料的支持。而这些材料大多需通过挑战BOSS获取,主线任务推进同样依赖击败指定数量的BOSS。 频繁切换地图、升级效率低下是否让你倍感疲惫?别担心!2025年必备的AI巡航…

    2026年9月22日 用户投稿
    000
  • MySQL跨数据库查询技巧_实现不同数据库间的数据联动操作

    MySQL跨数据库查询技巧_实现不同数据库间的数据联动操作MySQL跨数据库查询技巧_实现不同数据库间的数据联动操作MySQL跨数据库查询技巧_实现不同数据库间的数据联动操作MySQL跨数据库查询技巧_实现不同数据库间的数据联动操作

    mysql跨数据库查询的核心方法是在sql语句中通过“数据库名.表名”方式指定不同数据库的表,实现数据联动。1.在同一个mysql实例内,直接使用数据库名加表名进行关联查询,如db_user.users和db_order.orders,前提是用户需具备相应权限且建议对关联字段建立索引以提升性能;2.…

    2026年9月22日 用户投稿
    400
  • Procreate的AI混合工具怎么用?提升数字绘画效率的实用教程

    Procreate虽无直接名为“AI混合工具”的功能,但其图层混合模式、涂抹工具、Alpha锁定与剪裁蒙版等设计,共同构成了智能化的色彩混合体系。通过正片叠底、滤色等模式可实现自然光影叠加,涂抹工具结合纹理笔刷能模拟真实颜料融合,Alpha锁定和剪裁蒙版则确保混合精准可控。分层渐变、低不透明度叠加及…

    2026年9月22日
    700
  • windows怎么设置自动清理回收站_windows自动清理回收站的设置步骤

    可通过存储感知、组策略或任务计划程序设置回收站自动清理。首先启用存储感知并配置回收站文件保留时间;其次专业版用户可使用组策略编辑器精细管理回收站容量与清理周期;最后通过任务计划程序创建定时任务,运行PowerShell命令“Clear-RecycleBin -Force”实现自动化清理。 如果您发现…

    2026年9月22日
    000
  • VSCode高效配置Node.js:npm集成、中文报错、断点调试

    答案:高效配置VSCode与Node.js需确保Node.js和npm为最新版,利用集成终端运行命令,通过jsconfig.json或tsconfig.json优化项目配置,解决中文乱码需设置终端编码为UTF-8并选择支持中文的字体,调试核心是正确配置launch.json文件,使用pwa-node…

    2026年9月22日
    400
  • windows8桌面图标有蓝色阴影怎么去掉_windows8取消桌面图标蓝色底纹的方法

    1、调整视觉效果设置,取消“在桌面上为图标标签使用阴影”可消除蓝色背景;2、解除桌面Web项目锁定并清除Web内容;3、专业版用户可通过组策略禁用Active Desktop功能以彻底解决问题。 如果您发现Windows 8系统中的桌面图标带有蓝色阴影或底纹,这通常是由于系统视觉效果设置或桌面项目锁…

    2026年9月22日
    100

发表回复

登录后才能评论
关注微信