Сохранение интерфейса Matplotlib-графика с прозрачным фоном

#python #matplotlib #savefig

#python #matplotlib #savefig

Вопрос:

Я пытаюсь сохранить свой 3D-график с прозрачным фоном, но с параметром transparent= True для savefig это не работает. есть ли другой способ сделать это?

Вот моя фактическая попытка:

 import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import numpy as np
from scipy import interpolate


Z = abs(p_r) #p_r = 2-dimensional complex valued numpy-Array (4x4) 

X, Y = np.meshgrid(np.arange(-0.06, 0.07, 0.04), np.arange(-0.06, 0.07, 0.04))
xnew, ynew = np.mgrid[-0.06:0.06:10j, -0.06:0.06:10j]
tck = interpolate.bisplrep(X, Y, Z, s=0)
znew = interpolate.bisplev(xnew[:,0], ynew[0,:], tck)

fig = plt.figure()
ax = fig.gca(projection='3d')
    
surf = ax.plot_surface(xnew, ynew, znew,
                    cmap=cmap,linewidth=0, antialiased=False, shade=False)

ax.set_zlim(0, 0.9)
ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))

ax.set_xlabel('x [m]')
ax.set_ylabel('y [m]')
ax.set_zlabel('Amplitude [Pa]')

plt.savefig(graphpath, tranparent=True)
  

Комментарии:

1. извините, я это изменил

2. Все еще не полностью воспроизводимо, но я протестировал его, и, похоже, это проблема, характерная для 3D-проекции, по крайней мере, при сохранении в виде png файлов. Выдает предупреждение MatplotlibDeprecationWarning: savefig() got unexpected keyword argument "tranparent" which is no longer supported as of 3.3 and will become an error two minor releases later plt.savefig("test_transp.png", tranparent=True) . Это сообщение об ошибке не отображается в 2D-проекциях, а файл png имеет прозрачный фон.