Ich habe Probleme beim Entfernen von übermäßigen Leerstellen beim Mischen von 2D- und 3D-Unterplots. Für reine 3D-Unterplots kann ich den Bereich, der geplottet wird, mit fig.subplots_adjust()
anpassen, um die Leerräume zu entfernen, siehe here.matplotlib: Entfernen von 3D-Plots in gemischten 2D-/3D-Unterplots
Derselbe Trick funktioniert jedoch nicht, wenn sich dieses 3D-Bild in einem 2D-Teilplot befindet. Ich habe die gemischten Nebenhandlungen wie folgt aus:
import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import axes3d
fig,axes = plt.subplots(2,2)
ax = axes.flat
for a in range(3):
ax[a].plot(range(10),range(10))
ax[3].remove()
ax[3] = fig.add_subplot(224,projection='3d')
X, Y, Z = axes3d.get_test_data(0.03)
ax[3].plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=0.8,cmap=cm.coolwarm)
ax[3].set_xticklabels('')
ax[3].set_yticklabels('')
ax[3].set_zticklabels('')
fig.subplots_adjust(hspace=0,wspace=0)
Nun der Trick zB. fig.subplots_adjust(left=-0.01)
wirkt sich auf die linke Kante des 2D-Teilplots aus, und die 3D-Teilplots werden nicht geändert. Gibt es eine Möglichkeit, die weißen Bereiche um den 3D-Teilplot komplett zu entfernen? Ich probierte auch kleinere ax.dist
und es ist nicht gut, wenn das 3D-Diagramm in z-Richtung länger ist.
Können Sie ein minimales Arbeitsbeispiel angeben? Im obigen Code fehlen Anweisungen. –
@NipunBatra Danke für die Erinnerung, ich habe die Importe am Anfang hinzugefügt und getestet, es funktioniert. – Phyinmi