Matplotlib kullanarak şeffaf arka plan ile bazı gifler oluşturmak istiyorum. Farklı seçenekler denedim ancak dosyalarımı şeffaf arka plan ile alamıyorum. Mevcut kurulum ile ilk çerçeveyi böyle elde ediyorum ama geri kalanını değil. animasyon almanın bir yolu var mı: Aşağıdaki sonucu verir benim kodmplot3d animasyon
from __future__ import division
from numpy import pi, sin, cos, mgrid
from scipy.special import jn, jn_zeros
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib import rcParams
# In Windows the next line should provide the full path to convert.exe
# since convert is a Windows command
rcParams['animation.convert_path'] = "C:\Program Files\ImageMagick-6.9.3\convert.exe"
rcParams['savefig.transparent'] = True
rcParams['savefig.dpi'] = 130
rcParams['savefig.pad_inches'] = 0
plot_args = {'rstride': 1, 'cstride': 1, 'cmap':"RdYlBu",
'linewidth': 0.5, 'antialiased': True, 'color': '#1e1e1e',
'shade': True, 'alpha': 1.0, 'vmin': -1, 'vmax':1}
def data_gen(num):
ax.cla()
m, n = 1, 2
lam = jn_zeros(m, n)[-1]
dt = 2*pi/(30*lam)
z = cos(m*t)*jn(m, lam*r)*sin(lam*num*dt)
surf = ax.plot_surface(x, y, z, **plot_args)
ax.view_init(elev=30, azim=45)
ax.set_xlim(-0.6, 0.6)
ax.set_ylim(-0.6, 0.6)
ax.set_zlim(-1, 1)
plt.axis("off")
return surf
r, t = mgrid[0:1:20j, 0:2*pi:40j]
x, y = r*cos(t), r*sin(t)
fig = plt.figure(facecolor=None)
ax = fig.add_subplot(111, projection='3d')
ani = animation.FuncAnimation(fig, data_gen, range(30), blit=False)
ani.save("Drum vibration mode.gif", writer='imagemagick')
olduğunu
Soru (bunu tıklarsanız, o sadece bir çerçeve şeffaf görebilir) mplot3d kullanarak şeffaf arka plan ile?
Bu http://blog.adrian.pw/posts/2016/06/matplotlib-transparent-animation/? Görünüşe göre aradığınız şey 'fig.patch.set_alpha (0.)' ve ani.save ('circle_anim.mov', codec = "png", dpi = 100, bitrate = -1, savefig_kwargs = {'transparent': Doğru, 'facecolor': 'none'}) '. Şimdi deneyemem ama daha sonra vereceğim. –
@JacquesGaudin, Sadece kontrol ettim. Bu harika, ancak resmi GIF olarak dışa aktarmıyor. Gerçekten de, GIF yazarını kullanırken 'savefig_kwargs'' göz ardı edilir. – nicoguaro
@JacquesGaudin, sadece denedi: çalışmıyor. – nicoguaro