Dopo aver parlato di Matplotlib, libreria di Python per creare grafici, con gli esempi equazione diffusione, risoluzione numerica FTCS e un esempio di idrodinamica, vediamo ora un'altra possibilità interessante ovvero creare grafici 3D, con quattro casi diversi:
caso 1: grafico a linee del tipo z=f(x,y); il codice è il seguente:
import numpy as np
from matplotlib import pyplot as plt
plt.figure()
ax = plt.axes(projection ='3d')
x=np.linspace(-7,7,100)
y=np.linspace(7,7,100)
ax.plot3D(x,y,np.sin(2*x)*np.cos(2*y),'green')
plt.show()
Questo il risultato grafico:
caso 2: grafico a dispersione (scattered graph) sempre del tipo z=f(x,y); il codice è il seguente:
import numpy as np
from matplotlib import pyplot as plt
plt.figure()
ax = plt.axes(projection ='3d')
z = np.linspace(0, 1, 100)
x = z * np.sin(25 * z)
y = z * np.cos(25 * z)
ax.scatter(x, y, z)
plt.show()
Questo il risultato grafico:
caso 3: rappresentazione grafica della superficie (surface graph) sempre del tipo z=f(x,y); il codice è il seguente:
import numpy as np
from matplotlib import pyplot as plt
plt.figure()
ax = plt.axes(projection ='3d')
x = np.linspace(-2, 2, 100)
y = np.linspace(-2, 2, 100)
X,Y=np.meshgrid(x,y)
Z=10*np.cos(X**2+Y**2)/(3+X**2+Y**2)
ax.plot_surface(X,Y,Z)
plt.show()
Questo il risultato grafico:
caso 4: rappresentazione grafica della superficie (surface graph) sempre del tipo z=f(x,y); il codice è il seguente:
import numpy as np
from matplotlib import pyplot as plt
plt.figure()
ax = plt.axes(projection ='3d')
x = np.linspace(-2, 2, 30)
y = np.linspace(-2, 2, 30)
X,Y=np.meshgrid(x,y)
Z=10*np.cos(X**2+Y**2)/(3+X**2+Y**2)
ax.plot_wireframe(X,Y,Z)
plt.show()
Questo il risultato grafico: