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")

生成效果

Python动态可视化模块Pynimate初体验

持续关注模块来源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")

最终保存的动画效果

Python动态可视化模块Pynimate初体验

来源:https://blog.csdn.net/qq_42034590/article/details/129102846

标签:Python,Pynimate
0
投稿

猜你喜欢

  • PHP如何实现HTTP验证

    2023-09-04 05:32:46
  • golang 实现一个restful微服务的操作

    2023-07-06 23:42:13
  • python中return不返回值的问题解析

    2021-04-26 20:36:07
  • aspjpeg 半透明描边的实现函数

    2008-12-17 12:02:00
  • 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
  • 对“打造自己的reset.css”文中观点的不同看法

    2009-03-08 18:05:00
  • PHP getDocNamespaces()函数讲解

    2023-06-13 22:19:06
  • asp智能脏话过滤系统v1.0

    2011-04-14 11:00:00
  • 非常全面的实用JavaScript开发工具列表

    2010-01-05 16:44:00
  • 匿名函数的写法

    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
  • asp之家 网络编程 m.aspxhome.com