iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python利用matplotlib实现制作动态条形图
  • 247
分享到

Python利用matplotlib实现制作动态条形图

2024-04-02 19:04:59 247人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录制作思路animation大家好,本文将分享如何使用matplotlib制作动态条形图,制作的图很美,这个是我在之前发布的一篇中使用的图片, 效果如下 制作思路 为了方便大家学

大家好,本文将分享如何使用matplotlib制作动态条形图,制作的图很美,这个是我在之前发布的一篇中使用的图片,

效果如下

制作思路

为了方便大家学习,我将不直接进行讲解,而是以我是如何一步步制作的思路来介绍整个过程。

说到用 python 制作动态图,首先想到的肯定是一些直接拿来就用的库,虽然我没做过,但是我相信一定有且不止一个,搜了一圈后发现有个bar chart race库看起来不错

毕竟有现成的轮子,只需要填充数据即可,但是研究了一番,正如我之前所说,越好看的图对数据的要求越高,这个动态图的库指定数据必须类似如下格式

即有时间和国家两个维度,通过时间的变化来动态变化数据,但是我的数据很简单,就一列人名一列数据如下

如果再将数据强行修改成该库所需要的格式,花费的功夫将更多!所以果断放弃,回到我熟悉的matplotlib上,首先很自然的想法就是,根据每一行,写一个循环,每次循环就创建一个条形图。

这个想法是完全可以的,也有很多人这么做了,但是有一个问题就是做出来的效果太难看了,并且每次循环都需要重新生成画布绘图需要一定时间,这也会让最后的动态图显的不连贯。所以稍作尝试后这个思路也被抛弃了。

animation

又经过一番探索后,终于找到一个合适的工具——animation模块,可以完美的实现我的需求,只需要将你的绘图函数写好,将涉及到的参数空出来,通过FuncAnimation来更新数据即可。

当然我也是第一次接触,虽了解思路但不清楚具体实现逻辑,所以先从官方拉一个demo来看看整个过程如何实现

fig, ax = plt.subplots()
xdata, ydata = [], []
ln, = ax.plot([], [], 'r-', animated=False)

def init():
    ax.set_xlim(0, 2*np.pi)
    ax.set_ylim(-1, 1)
    return ln,

def update(frame):
    xdata.append(frame)
    ydata.append(np.sin(frame))
    ln.set_data(xdata, ydata)
    return ln,

ani = FuncAnimation(fig, update, frames=np.linspace(0, 2*np.pi, 128),
                    init_func=init, blit=True)

html(ani.to_jshtml())

上面这段代码取自官方文档,并不难读懂,首先创建figureaxes,之后将涉及到的数据xdata,ydata空出来,再用update函数来更新数据并绘图,具体为将数据赋给frames,通过FuncAnimation实例传到update中实现迭代绘图,最后可以使用iPython的内置工具来将动态图展示在notebook中,效果如下

到这里基本上就搞明白整个过程了,下面我们只需要照猫画虎,写一个绘图函数并设计如何更新数据即可,具体如下

解释一下这一大段代码,抛开设置标题、坐标轴等修饰的部分,实际上也只做了一件事通过flag参数来绘制每一行数据

为什么需分为两段,因为我们图上需要七根柱子,而刚开始的时候只有不到七条数据,所以需要先创建七个空数据,在绘制前七个柱状图时,依次添加,而后面只需要从7开始,删除最早的一个数据,并向后追加一个数据即可,额外需要考虑的是我们需要为每一个数据确定一个颜色,所以还有一列颜色列也需要更新,最终我们的数据如下

在搞定shuang这个绘图函数后,只需要迭代更新数据并展示即可,相关代码如下

其中ani.save()可以将动图存储为gif,HTML(ani.to_HTML5_video())可以将动图保存为mp4,而HTML(ani.to_jshtml())则是在notebook中直接查看最终效果(注意第一次运行这里会报错,根据相关提示安装依赖即可),大家可以自己尝试

至于代码中如何添加标题、修改坐标轴、修改注释等操作本文就不在细讲了,最后是制作完成的效果,我个人感觉还不错,也可以导出为高分辨率视频添加bgm制作视频

以上就是Python利用matplotlib实现制作动态条形图的详细内容,更多关于Python matplotlib动态条形图的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python利用matplotlib实现制作动态条形图

本文链接: https://www.lsjlt.com/news/120657.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python利用matplotlib实现制作动态条形图
    目录制作思路animation大家好,本文将分享如何使用matplotlib制作动态条形图,制作的图很美,这个是我在之前发布的一篇中使用的图片, 效果如下 制作思路 为了方便大家学...
    99+
    2024-04-02
  • Python利用Matplotlib库实现绘制饼形图
    目录1.plt.pie()2. 饼图基本3. 饼状图进阶4. 环形图5. 内嵌环形图1.plt.pie() 饼图 常常用来显示 整体中各部分所占的比例,在python-matplot...
    99+
    2024-04-02
  • 怎么用Python实现动态条形图
    这篇文章主要介绍“怎么用Python实现动态条形图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用Python实现动态条形图”文章能帮助大家解决问题。目前,官方的API文档只提供了一个条形图的源...
    99+
    2023-07-05
  • Matplotlib实现各种条形图绘制
    目录1. 条形图的绘制2. 横向条形图3. 分组条形图4. 堆叠条形图5. 条形图应用场景1. 条形图的绘制 plt.bar 方法有以下常用参数: x :一个数组或者列表,代表需要绘...
    99+
    2024-04-02
  • Python利用pynimate实现制作动态排序图
    数据可视化动画还在用 Excel 做?今天分享一个简单的 Python 包就能分分钟搞定! 而且生成的动画也足够丝滑,效果是酱紫的: 这是一位专攻 Python 语言的程序员开发的...
    99+
    2023-02-01
    Python制作动态排序图 Python动态排序图 Python动态排序
  • 怎么使用Python Matplotlib绘制条形图
    今天小编给大家分享一下怎么使用Python Matplotlib绘制条形图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2023-07-02
  • 如何使用Python Matplotlib绘制条形图
    目录前言一、一般条形图二、横向条形图三、分组条形图的绘制四、堆叠条形图绘制总结 前言 matplotlib是一个非常强大的Python第三方绘图包,可以绘制非常多非常漂亮的...
    99+
    2024-04-02
  • Python实现动态条形图绘制的示例代码
    目录动态条形图变动态柱状图指定排序方式限制条目数设置固定条目固定数值轴,使其不发生动态变化设置图像帧数,默认 10 帧设置帧率,单位时间默认为 500ms设置每帧增加的标签时间,默认...
    99+
    2024-04-02
  • Python制作动态词频条形图的全过程
    目录前言前期准备数据的选择与获取分词筛选与可视化总结前言 ”数据可视化“这个话题,相信大家并不陌生,在一些平台,经常可以看到一些动态条形图的视频,大多都是某国家 GDP 的变化或者不...
    99+
    2024-04-02
  • Python+matplotlib绘制条形图和直方图
    目录摘要一、bar()函数二,hist()函数三、数据统计摘要 先介绍条形图直方图,然后用随机数生成一系列数据,保存到列表中,最后统计出相关随机数据的概率并展示 前述介绍了由点进行划...
    99+
    2024-04-02
  • Python Matplotlib怎么实现垂直条形图和水平条形图
    这篇文章主要介绍“Python Matplotlib怎么实现垂直条形图和水平条形图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python Matplotlib怎么实现垂直条形...
    99+
    2023-06-29
  • Python利用matplotlib实现饼图绘制
    目录前言1. 等高线图概述什么是饼图?饼图常用场景绘制等饼图步骤案例展示2. 饼图属性设置饼图的颜色设置标签设置突出部分设置填入百分比数值饼图旋转设置阴影3. 调整饼图的大小4. 添...
    99+
    2024-04-02
  • Python matplotlib如何实现图形绘制
    本篇内容主要讲解“Python matplotlib如何实现图形绘制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python matplotlib如何实现图形绘制”吧!1....
    99+
    2023-06-21
  • Python Matplotlib绘制条形图的全过程
    目录条形图 单组条形图 水平条形图 多组条形图 堆积条形图 对称条形图 总结条形图 条形图具有丰富的表现形式,常见的类型包括单组条形图,多组条形图,堆积条形图和对称条形图等。 单组...
    99+
    2024-04-02
  • python matplotlib实现条形图的填充效果
    本文实例为大家分享了python matplotlib实现条形图填充效果的具体代码,供大家参考,具体内容如下 写专利用的python里面的matplotlib画的条形图 ,最开始用的...
    99+
    2024-04-02
  • Python实现动态条形图的示例详解
    关于数据可视化的模块,之前已经分享过很多了,小伙伴们可以到历史文章中搜索,不过都是静态的可视化数据展示效果。 这几天刚刚发现的这款动态数据可视化模块pynimate值得一提。 它可以...
    99+
    2023-03-22
    Python绘制动态条形图 Python动态条形图 Python条形图
  • Python+matplotlib怎么绘制条形图和直方图
    这篇文章主要介绍“Python+matplotlib怎么绘制条形图和直方图”,在日常操作中,相信很多人在Python+matplotlib怎么绘制条形图和直方图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”P...
    99+
    2023-06-30
  • matplotlib条形图带值怎么实现
    要在Matplotlib中创建带有值的条形图,可以使用函数`bar`来绘制条形图,并使用函数`text`将值添加到每个条形上。下面是...
    99+
    2023-09-20
    matplotlib
  • Python利用matplotlib绘制圆环图(环形图)的实战案例
    目录一、概念介绍二、数据展示三、图像绘制四、参数解释(1) wedgeprops是我们绘图时的参数字典。(2) startangle是第一个数据起画点。(3) plt.text(4)...
    99+
    2024-04-02
  • Python制作动态词频条形图的过程是怎样的
    这篇文章给大家介绍Python制作动态词频条形图的过程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。前言”数据可视化“这个话题,相信大家并不陌生,在一些平台,经常可以看到一些动态条形图的视频,大多都是某国家 G...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作