Wie kann man einen dynamischen, nicht quadratischen Zeichnungsbereich in Matplotlib-3D-Diagrammen erreichen?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie kann man einen dynamischen, nicht quadratischen Zeichnungsbereich in Matplotlib-3D-Diagrammen erreichen?

by Anonymous » 20 Mar 2025, 23:01

Ich habe auf bemerkte, was ich sagen kann, dass Matplotlib 3D -Diagramme auf einen quadratischen Zeichenbereich beschränkt sind. For example, when plotting a surface and zooming in, instead of the surface filling the entire window, it remains confined to a square region fitted inside the window, with blank borders:
Image

Ich konnte keine Möglichkeit finden, dieses Verhalten noch eine Erwähnung dieser Einschränkung in den Dokumentation oder Online -Diskussionen zu ändern. Gibt es eine Möglichkeit, dies zu ändern, damit der Zeichenbereich ein nicht quadratisches Seitenverhältnis veranstaltet und sich dynamisch mit dem Fenster ändern kann? Alle Zeiger oder Problemumgehungen würden geschätzt.

Code: Select all

import numpy as np
import matplotlib.pyplot as plt

# Generate some sample data
x = np.arange(10)
y = np.arange(15)
X, Y = np.meshgrid(x, y)
Z = np.random.randn(15, 10)

# Create figure and 3D axes
fig = plt.figure(figsize=(8, 6), dpi=100)
ax = fig.add_subplot(111, projection="3d")

# Plot surface
ax.plot_surface(X, Y, Z, cmap="inferno", linewidth=0, antialiased=True)

# Set labels
ax.set_xlabel("Delta")
ax.set_ylabel("Maturity")
ax.set_zlabel("Volatility")
ax.set_title("Volatility Surface")

# Show plot
plt.show()

Top