函数公式网 高中函数 基于matplotlib的数学函数图像动画

基于matplotlib的数学函数图像动画

动画可以更客观直观地展示一些结果。 本文将展示功能:

代码如下:

将 numpy 导入为 np

将 matplotlib.pyplot 导入为 plt

从 matplotlib.animation 导入 FuncAnimation

图,ax = plt.subplots()

铂。 轴(’等于’)

铂。 轴(’关闭’)

xdata, ydata = np.linspace(-2*np.pi, 2*np.pi, 1000), []

temp1, temp2 = np.power(np.square(xdata),0.33), 0.9*np.sqrt(3.3-np.square(xdata))

ln, = ax.plot([], [], ‘r-‘, animated=False)

定义初始化():

ax.set_xlim(-np.pi, np.pi)

斧头。 set_ylim(-2, 3)

返回ln,

定义更新(n):

ydata = temp1 temp2*np.sin(n*np.pi*xdata)

ln. set_data(xdata,ydata)

返回ln,

ani = FuncAnimation(fig, update, frames=np.linspace(0, 20, 100), init_func=init, blit=True)

plt.show()

matplotlib.animate中绘图函数FuncAnimation(fig,func,frames,init_func,interval,blit)参数说明:

需要安装Moviepy和 通过 matplotlib 定制一个动画功能就足够了,需要使用 mplfig_to_npimage 将画布对象转换,然后使用 VideoClip 将其导出为 gif 或 MP4 视频格式。 代码如下:

动画可以更客观直观地展示一些结果。 本文将展示功能:

使用matplotlib.animate

代码如下:

import numpy as np

将 matplotlib.pyplot 导入为 plt

从 matplotlib.animation 导入 FuncAnimation

图,ax = plt.subplots()

铂。 轴(’等于’)

铂。 轴(’关闭’)

xdata, ydata = np.linspace(-2*np.pi, 2*np.pi, 1000), []

temp1, temp2 = np.power(np.square(xdata),0.33), 0.9*np.sqrt(3.3-np.square(xdata))

ln, = ax.plot([], [], ‘r-‘, animated=False)

定义初始化():

ax.set_xlim(-np.pi, np.pi)

斧头。 set_ylim(-2, 3)

返回ln,

定义更新(n):

ydata = temp1 temp2*np.sin(n*np.pi*xdata)

ln. set_data(xdata,ydata)

返回ln,

ani = FuncAnimation(fig, update, frames=np.linspace(0, 20, 100), init_func=init, blit=True)

plt.show()

Matplotlib.animate绘图函数FuncAnimation(fig, func, frames, init_func, interval, blit)参数说明:

  • fig For canvas
  • func是自定义的动画函数
  • frames是func的frame 参数个数
  • init_func自定义初始化函数
  • interval更新频率,毫秒
  • li>

  • blit表示更新所有数据,或者新的数据点,是一个布尔值

和Moviepy

需要安装Moviepy,可以通过matplotlib自定义一个动画函数。 您需要使用 mplfig_to_npimage 转换画布对象,然后使用 VideoClip 将其导出为 gif 或 MP4 视频格式。 代码如下:

import matplotlib.pyplot as plt

将 numpy 导入为 np

从 moviepy.video.io.bindings 导入 mplfig_to_npimage

将 moviepy.editor 导入为 mpy

持续时间 = 20

fig_mpl, ax = plt.subplots(1,figsize=(5,3), facecolor=’white’)

铂。 轴(’等于’)

铂。 轴(’关闭’)

xdata, ydata = np.linspace(-2*np.pi, 2*np.pi, 1000), []

temp1, temp2 = np.power(np.square(xdata),0.33), 0.9*np.sqrt(3.3-np.square(xdata))

ax.set_xlim(-np.pi, np.pi)

斧头。 set_ylim(-2, 3)

line, = ax.plot([], [], ‘r-‘)

def make_frame_mpl(t):

ydata = temp1 temp2*np.sin(t*np.pi*xdata)

line.set_data(xdata,ydata)

返回 mplfig_to_npimage(fig_mpl)

动画=mpy.VideoClip(make_frame_mpl, duration=duration)

animation.write_gif(“heart.gif”, fps=20)

使用Mayavi

使用方法和Moviepy非常相似,这里省略几行代码。 由于Mayavi依赖强大的ITK可视化引擎,可以考虑通过Mayavi处理复杂的数据集,制作3D数据或交互数据。

动画可以更客观直观地展示一些结果。 本文将展示功能:

使用matplotlib.animate

代码如下:

import numpy as np

将 matplotlib.pyplot 导入为 plt

从 matplotlib.animation 导入 FuncAnimation

图,ax = plt.subplots()

铂。 轴(’等于’)

铂。 轴(’关闭’)

xdata, ydata = np.linspace(-2*np.pi, 2*np.pi, 1000), []

temp1, temp2 = np.power(np.square(xdata),0.33), 0.9*np.sqrt(3.3-np.square(xdata))

ln, = ax.plot([], [], ‘r-‘, animated=False)

定义初始化():

ax.set_xlim(-np.pi, np.pi)

斧头。 set_ylim(-2, 3)

返回ln,

定义更新(n):

ydata = temp1 temp2*np.sin(n*np.pi*xdata)

ln. set_data(xdata,ydata)

返回ln,

ani = FuncAnimation(fig, update, frames=np.linspace(0, 20, 100), init_func=init, blit=True)

plt.show()

Matplotlib.animate绘图函数FuncAnimation(fig, func, frames, init_func, interval, blit)参数说明:

  • fig For canvas
  • func是自定义的动画函数
  • frames是func的frame 参数个数
  • init_func自定义初始化函数
  • interval更新频率,毫秒
  • li>

  • blit表示更新所有数据,或者新的数据点,是一个布尔值

和Moviepy

需要安装Moviepy,可以通过matplotlib自定义一个动画函数。 您需要使用 mplfig_to_npimage 转换画布对象,然后使用 VideoClip 将其导出为 gif 或 MP4 视频格式。 代码如下:

import matplotlib.pyplot as plt

将 numpy 导入为 np

从 moviepy.video.io.bindings 导入 mplfig_to_npimage

将 moviepy.editor 导入为 mpy

持续时间 = 20

fig_mpl, ax = plt.subplots(1,figsize=(5,3), facecolor=’white’)

铂。 轴(’等于’)

铂。 轴(’关闭’)

xdata, ydata = np.linspace(-2*np.pi, 2*np.pi, 1000), []

temp1, temp2 = np.power(np.square(xdata),0.33), 0.9*np.sqrt(3.3-np.square(xdata))

ax.set_xlim(-np.pi, np.pi)

斧头。 set_ylim(-2, 3)

line, = ax.plot([], [], ‘r-‘)

def make_frame_mpl(t):

ydata = temp1 temp2*np.sin(t*np.pi*xdata)

line.set_data(xdata,ydata)

返回 mplfig_to_npimage(fig_mpl)

动画=mpy.VideoClip(make_frame_mpl, duration=duration)

animation.write_gif(“heart.gif”, fps=20)

使用Mayavi

使用方法和Moviepy非常相似,这里省略几行代码。 由于Mayavi依赖强大的ITK可视化引擎,可以考虑通过Mayavi处理复杂的数据集,制作3D数据或交互数据。

本文来自网络,不代表函数公式网立场,转载请注明出处:https://www.cyhsb.com/gzhs/2405.html

在表格中输入℃、36.5°、√等特殊字符,Alt键一键解决,你知道吗?

高中数学三角函数的特殊角度评价题,每个角度的推导过程和结论,评价技巧

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

返回顶部