Python动态可视化模块Pynimate初体验
作者:吃肉的小馒头 时间:2021-03-22 16:35:09
Pynimate介绍
Pynimate是python第三方用于动态可视化的数据模块。
安装
pip install pynimate
实验示例
from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
import os
import pynimate as nim
# 用于显示中文
import matplotlib as mpl
mpl.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
2.读取csv文件
df = pd.read_csv("房地产投资累计亿元.csv",index_col=0)
# 可按自定义数据进行预处理
3.绘制图像
# 定义画布
cnv = nim.Canvas()
# 设置插值频率,可自定义调节
bar = nim.Barplot(df, "%Y-%m-%d", "1d")
# 使用回调函数接收对应格式化的年月信息
bar.set_time(callback=lambda i, datafier: datafier.data.index[i].strftime("%b, %Y"))
# 添加条形图到画布
cnv.add_plot(bar)
cnv.animate()
plt.show()
4.保存文件
# 两种格式存储,git和mp4
cnv.save("file", 24, "gif")
# cnv.save("file", 24, "mp4")
生成效果
持续关注模块来源github。
更典型的示例
用于对画图布局,边框,颜色等信息进行自定义和优化
代码示例:
def post_update(ax, i, datafier, bar_attr):
ax.spines["top"].set_visible(False)
ax.spines["right"].set_visible(False)
ax.spines["bottom"].set_visible(False)
ax.spines["left"].set_visible(False)
ax.set_facecolor("#001219")
cnv = nim.Canvas(figsize=(12.8, 7.2), facecolor="#001219")
bar = nim.Barplot(
df2, "%Y-%m", "1d", post_update=post_update, rounded_edges=True, grid=False, n_bars=31
)
bar.set_title("房地产投资累计(亿元)", color="w", weight=600)
# bar.set_xlabel("xlabel", color="w")
bar.set_time(
callback=lambda i, datafier: datafier.data.index[i].strftime("%b, %Y"), color="w"
)
bar.set_bar_annots(color="w", size=13)
bar.set_xticks(colors="w", length=0, labelsize=13)
bar.set_yticks(colors="w", labelsize=13)
bar.set_bar_border_props(
edge_color="black", pad=0.1, mutation_aspect=1, radius=0.2, mutation_scale=0.6
)
cnv.add_plot(bar)
cnv.animate()
# plt.show()
cnv.save("example3", 24, "gif")
最终保存的动画效果
来源:https://blog.csdn.net/qq_42034590/article/details/129102846
标签:Python,Pynimate
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
PHP如何实现HTTP验证
2023-09-04 05:32:46
golang 实现一个restful微服务的操作
2023-07-06 23:42:13
python中return不返回值的问题解析
2021-04-26 20:36:07
![](https://img.aspxhome.com/file/2023/7/63967_0s.jpg)
aspjpeg 半透明描边的实现函数
2008-12-17 12:02:00
![](https://img.aspxhome.com/file/UploadPic/200812/17/17_172743_1-89s.jpg)
Python+selenium 获取一组元素属性值的实例
2021-06-06 02:28:27
基于Django OneToOneField和ForeignKey的区别详解
2021-10-17 11:01:21
详解MySQL数据库之更新语句
2010-08-08 09:15:00
jsSmarty Project
2009-10-19 23:14:00
Python网络编程之TCP与UDP协议套接字用法示例
2023-12-07 06:34:45
Python实现钉钉订阅消息功能
2023-02-23 05:25:08
![](https://img.aspxhome.com/file/2023/4/67854_0s.jpg)
对“打造自己的reset.css”文中观点的不同看法
2009-03-08 18:05:00
![](https://img.aspxhome.com/file/UploadPic/20093/8/2009-03-08_000700-59s.gif)
PHP getDocNamespaces()函数讲解
2023-06-13 22:19:06
![](https://img.aspxhome.com/file/2023/5/55405_0s.png)
asp智能脏话过滤系统v1.0
2011-04-14 11:00:00
非常全面的实用JavaScript开发工具列表
2010-01-05 16:44:00
![](https://img.aspxhome.com/file/UploadPic/20101/11/200912311344278032-17s.jpg)
匿名函数的写法
2010-01-06 13:32:00
asp如何防止计数器刷新计数?
2009-11-22 19:19:00
php简单生成一组与多组随机字符串的方法
2023-10-04 02:10:09
轻松掌握SQL Server数据库的六个实用技巧
2009-01-15 12:56:00
python中numpy 常用操作总结
2021-01-10 05:01:57
asp如何编写一个最简单的聊天程序?
2009-11-08 19:04:00