I am having a problem animating a histogram and movie at the same time

using matplotlib.animation.ArtistAnimation.

The first program below, which makes an animated histogram using the "bar"

routine works fine. If I substitute the two lines commented out for the

two lines preceding those lines, it still works fine (using "plot" instead

of 'bar"). For reasons that are not clear to me, I need make a

list (ims) for animation for the histogram using the "bar" routine, and a

list of lists for animation of the simple "plot" routine.

There is a more serious problem with the second routine where I

simultaneously animate a sequence of images using imshow and also try to

make an animated histogram. It works fine if I plot the "histogram" using

the "plot" routine but does not work if I use the "bar" routine. Can

someone offer some help?

I am running these on OSX 10.12.5, Python 3.5.2 or Python 3.6.1, and

matplotlib 2.0.0 or 2.0.2

## ···

----------------------------

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.animation as animation

fig, ax = plt.subplots()

ims = []

xh = np.random.randn(10)

for i in range(100):

xh = np.append(xh, np.random.randn(10))

a, b = np.histogram(xh, bins=24, normed=True)

xx = 0.5*(b[:-1]+b[1:])

ax.set_xlim(-3, 3)

ax.set_ylim(0, 0.5)

im = ax.bar(xx, a, width=0.9*(b[1]-b[0]), color='C1')

ims.append(im)

# im, = ax.plot(xx, a, '-oC0')

# ims.append([im])

ani = animation.ArtistAnimation(fig, artists=ims, interval=50,

repeat=False)

plt.show()

----------------------------

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.animation as animation

def f(x, y):

return np.sin(x) + np.cos(y)

xm = np.linspace(0, 2 * np.pi, 120)

ym = np.linspace(0, 2 * np.pi, 120).reshape(-1, 1)

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(8, 3.5))

ax1.axis('off')

ims = []

xh = np.random.randn(10)

for i in range(100):

xm += np.pi / 20.

ym += np.pi / 20.

im1 = ax1.imshow(f(xm, ym), cmap=plt.get_cmap('plasma'),

aspect='equal', animated=True)

xh = np.append(xh, np.random.randn(10))

a, b = np.histogram(xh, bins=24, normed=True)

xx = 0.5*(b[:-1]+b[1:])

ax2.set_xlim(-3, 3)

ax2.set_ylim(0, 0.5)

# im2 = ax2.bar(xx, a, width=0.9*(b[1]-b[0]), color='C1')

im2, = ax2.plot(xx, a, '-oC0')

ims.append([im1, im2])

ani = animation.ArtistAnimation(fig, artists=ims, interval=50,

repeat=False)

# ani.save('junk.mp4')

plt.show()

----------------------------

-------------- next part --------------

An HTML attachment was scrubbed...

URL: <http://mail.python.org/pipermail/matplotlib-users/attachments/20170614/2c3e5a42/attachment.html>