- Modificato
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: