Je voudrais tracer un tracé 3D d'une sphère, qui colore différemment les sections en fonction d'une fonction des coordonnées thêta, phi. Je pourrais représenter graphiquement deux graphiques distincts, un de chaque couleur, mais je ne sais pas exactement comment fonctionne le maillage/quadrillage lors du traçage. Viz. Je veux quadriller/mailler tous les thetas/phis dans une sphère, mais ensuite jeter certaines paires avec une fonction booléenne. Est-ce possible? Ci-joint une image d'un nuage de points qui fait ce que j'aimerais faire avec les surfaces. Coloriage booléen Matplotlib
0
A
Répondre
2
Basé sur scatter3d_demo.py trouvé dans le matplotlib tutorial:
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection='3d')
THETA, PHI = np.ogrid[0:2*np.pi:40j, 0:np.pi:30j]
X = 10 * np.cos(THETA) * np.sin(PHI)
Y = 10 * np.sin(THETA) * np.sin(PHI)
Z = 10 * np.ones_like(THETA) * np.cos(PHI)
def func(THETA, PHI):
mask = (THETA < np.pi/2) & (np.pi/3 < PHI) & (PHI < 2 * np.pi/3)
return np.where(mask, 1, 0.5)
C = func(THETA, PHI)
x = X.ravel()
y = Y.ravel()
z = Z.ravel()
c = C.ravel()
ax.scatter(x, y, z, c=c, s=30, vmin=0, vmax=1)
ax.set_aspect('equal')
plt.show()
cède
Notez que vous pouvez également des taches de couleur sur une sphère en utilisant plot_surface
:
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
THETA, PHI = np.ogrid[0:2*np.pi:40j, 0:np.pi:30j]
X = 10 * np.cos(THETA) * np.sin(PHI)
Y = 10 * np.sin(THETA) * np.sin(PHI)
Z = 10 * np.ones_like(THETA) * np.cos(PHI)
def func(THETA, PHI):
mask = (THETA < np.pi/2) & (np.pi/3 < PHI) & (PHI < 2 * np.pi/3)
return np.where(mask, 1, 0.5)
C = func(THETA, PHI)
jet = plt.cm.jet
ax.plot_surface(X, Y, Z, rstride=2, cstride=2, facecolors=jet(C))
ax.set_aspect('equal')
plt.show()
Questions connexes
- 1. Coloriage partiel du texte dans matplotlib
- 2. Coloriage dynamique
- 3. Coloriage JComboBox
- 4. Faire éclipse Syntaxe Coloriage exact comme visual studio Syntaxe Coloriage
- 5. Eclipse, PyDev Syntaxe Coloriage
- 6. bouton bootstrap coloriage question
- 7. Coloriage points de fermeture
- 8. Coloriage de ListBox
- 9. Coloriage de syntaxe Netbeans
- 10. WPF Calendar Weekend Coloriage
- 11. Comportement de coloriage RichTextbox
- 12. Coloriage d'un rectangle
- 13. Toile HTML5 - Coloriage Problème
- 14. Liens de coloriage Navbar
- 15. Coloriage de l'expander
- 16. Coloriage/Surlignage Texte en sublime
- 17. coloriage objet dendogram en matlab
- 18. SVN Diff Coloriage en Vim
- 19. Coloriage XNA et FBX Problème
- 20. Coloriage ANSI en mode compilation
- 21. ReSharper Variables coloriage en rouge
- 22. Syntaxe Coloriage sans présentation Réconciliateur
- 23. Coloriage NSTableView Texte par rangée
- 24. Coloriage une parcelle dans MATLAB
- 25. Coloriage Terser d'un message LogCat?
- 26. Coloriage Image dans iPhone SDK
- 27. Texte dynamique AdvancedDataGrid Valeur Coloriage - Problème ItemRenderer
- 28. milieu de coloriage de chaîne en javascript
- 29. Coloriage de syntaxe Visual Studio 2008 Problème
- 30. Coloriage WPF DataGridRows un par un
Avez-vous un code pour le tracé de votre sphère (sans changement de couleur évidemment)? – Ffisegydd