[Python] matplotlib: aggiunta di secondi assi () con sfondo trasparente?



Answers

Question

Definire i dati

x = np.linspace(0,2*np.pi,100)
y = 2*np.sin(x)

Tracciare

fig = plt.figure()
ax = plt.axes()
fig.add_subplot(ax)
ax.plot(x,y)

Aggiungi secondo asse

newax = plt.axes(axisbg='none')

ValueError: Unknown element o , anche se fa la stessa cosa di quello che sto per descrivere. Posso anche vedere che questo funziona (nessun errore) per fare la stessa cosa:

newax = plt.axes()
fig.add_subplot(newax)
newax.set_axis_bgcolor('none')

Tuttavia, gira il colore di sfondo della figura originale "grigio" (o qualunque sia lo sfondo della figura)? Non capisco, perché pensavo che questo avrebbe reso newax trasparente ad eccezione degli assi e della scatola attorno alla figura. Anche se cambio l'ordine, la stessa cosa:

plt.close('all')
fig = plt.figure()
newax = plt.axes()
fig.add_subplot(newax)
newax.set_axis_bgcolor('none')
ax = plt.axes()
fig.add_subplot(ax)
ax.plot(x,y)

Ciò è sorprendente perché ho pensato che lo sfondo di uno sarebbe stato sovrapposto all'altro, ma in entrambi i casi è lo sfondo newax che sembra essere visibile (o almeno questo è il colore che vedo).

Che cosa sta succedendo qui?






Links