如何用python画一个动态的红心
1、源码
import numpy as np
import matplotlib.pyplot as plt
import math
from scipy.fftpack import fft,ifft
import mpl_toolkits.mplot3d
from decimal import Decimal
from matplotlib.animation import FuncAnimation
plt.figure(1)
#x=[-2:.001:2]
x = np.linspace(-2,2,800)
y=(np.sqrt(np.cos(x)) * np.cos(100*x)+np.sqrt(abs(x))-0.0) * (10-x*x) **(0.01)
plt.plot(x,y)
plt.show()
plt.figure(2)
DT = 0.001 # time tick [s]
SIM_TIME = 300*0.001#40.0 # simulation time [s]
show_animation = True
time = 0.0
fig, ax = plt.subplots()
i =0
h_y_true = np.array([])
h_x_true = np.array([])
xdata, ydata = [], []
ln, = ax.plot([], [], r-, animated=False)
def init():
ax.set_xlim(-2, 2)
ax.set_ylim(-1, 2)
return ln,
def update(n):
xdata.append(n) #将每次传过来的n追加到xdata中
ydata.append((np.sqrt(np.cos(n)) * np.cos(100*n)+np.sqrt(abs(n))-0.0) * (10-n*n) **(0.01))
ln.set_data(xdata, ydata) #重新设置曲线的值
return ln,
anim = FuncAnimation(fig, update, frames=x, interval=10,init_func=init, blit=True)
#if len(sys.argv) > 1 and sys.argv[1] == save:
anim.save(line.gif, dpi=80, writer=imagemagick,)
plt.show()
2、结果
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
STM32启动模式及程序下载原理总结
