0
我在教自己的python数学动画,所以我甚至不知道我问的是否可以用matplotlib。我想要的是 (1)的轴开始小,然后展开。在此之后,我想要它 (2)顺序(一个接一个地)绘制两行,而不是同时(在同一时间),它正在做什么。
我的代码如下,除了我尝试扩展轴(最好我的尝试没有崩溃蟒蛇)。在python和matplotlib中动画轴的大小和2个连续的动画
import time
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
#from matplotlib.animation import FuncAnimation
maxsize = 8
size = 1
fig = plt.figure(figsize=(maxsize, maxsize))
# fig will start at "size" if I ever figure out the animation
xmin = -10
xmax = 10
ymin = -10
ymax = 10
ax = plt.axes(xlim=(xmin, xmax), ylim=(ymin, ymax))
plt.axhline(linewidth=3, color='black')
plt.axvline(linewidth=3, color='black')
line, = ax.plot([], [], lw=2)
def init1():
line.set_data([], [])
return line,
def animate1(i):
x1 = np.linspace(-10, i/5 - 10, 1000)
y1 = -1*x1
line.set_data(x1, y1)
return line,
def init2():
line.set_data([], [])
return line,
def animate2(j):
x2 = np.linspace(0, j/10, 1000)
y2 = 2*x2
line.set_data(x2, y2)
return line,
plt.grid()
plt.xticks(np.arange(xmin, xmax+1, 1.0))
plt.yticks(np.arange(ymin, ymax+1, 1.0))
anim1 = animation.FuncAnimation(fig, animate1, init_func=init1,
frames=100, interval=20, blit=True)
plt.plot()
plt.show()
time.sleep(1)
anim2 = animation.FuncAnimation(fig, animate2, init_func=init2,
frames=100, interval=20, blit=True)
plt.plot()
plt.show()
所以我想我的问题是: 是我想在matplotlib做可能吗?一?另一个?都? 如果是这样,我该怎么做。
尺寸限制下我不清楚你想要什么;让我们试着澄清一下:'(1)轴从小到大,然后展开“,这是数字线上的某种缩放效果? (2)按顺序绘制两行而不是同时绘制你想绘制一条线,然后在另一条线上绘制(保留第一行)?或者你想显示一个情节与第一个,然后另一个与第二个? –
(1)我想让轴开始小,让我们说1“1”,然后长到8“8”。 (2)我想在一个绘图上画一条线,暂停,然后在同一个绘图上绘制第二条线。 – SaintCad