3D complot în matplotlib folosind ecuația cu x și y cu Python

0

Problema

Aș dori pentru a crea un complot 3D de la o ecuație cu x și y, similar cu Google 3D graph.

Un exemplu:

intrare: sin(sqrt(x**2 + y**2))

de ieșire (3D plot): sin(sqrt(x2 + y2))

Z va fi, evident, egal cu cel de intrare dat, dar cum va x și y fi calculat? Multumesc pentru orice ajutor dat!

3d matplotlib python python-3.x
2021-11-23 22:19:24
1

Cel mai bun răspuns

1

Puteți începe prin crearea unui meshgrid pentru X și Y. Apoi calcula dvs. Z de a face Z=np.sin(np.sqrt(X**2 + Y**2)). În cele din urmă, puteți complot suprafață cu ajutorul matplotlib funcție ax.plot_surface(X, Y, Z).

Puteți găsi codul de mai jos:

import numpy as np
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

N_points=100
x = np.linspace(-10, 10, N_points)  
y = np.linspace(-10, 10, N_points)  
  
X, Y = np.meshgrid(x, y)
Z=np.sin(np.sqrt(X**2 + Y**2))

fig = plt.figure()
ax = fig.add_subplot(projection='3d')

ax.plot_surface(X, Y, Z)

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()

Și de ieșire din acest cod vă oferă:

enter image description here

2021-11-24 00:10:20

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................