Dessinez une grille triangulaire non structurée sous forme de lignes ou de marqueurs en Python à l'aide de Matplotlib
Python est un langage de programmation couramment utilisé. Il offre une large gamme d'outils et de bibliothèques qui peuvent être utilisés pour résoudre différents problèmes, l'un d'eux est Matplotlib. Cette bibliothèque fournit diverses fonctions pour la visualisation des données et la création de différents tracés. Dans cet article, nous utiliserons Matplotlib pour dessiner une grille triangulaire non structurée comme doublures ou marqueurs en python.
Qu'est-ce que Matplotlib et comment l'installer ?
Matplotlib est l'une des bibliothèques de python. Cette bibliothèque est un outil très puissant pour tracer des graphiques pour visualiser les données. Il dispose d'un module nommé « pyplot » qui facilite le traçage en fournissant des fonctionnalités permettant de contrôler les styles de ligne, les propriétés de police, les axes de formatage, etc. Il peut également s'intégrer à d'autres bibliothèques telles que numpy qui est une bibliothèque connue pour le calcul numérique en python. .
Vous pouvez installer cette bibliothèque sur votre système en passant une commande dans l'invite de commande « pip install matplotlib ».
Après avoir installé la bibliothèque sur votre système, vous pouvez l'importer dans votre code pour utiliser les fonctions proposées. Puisque nous devons dessiner une grille triangulaire non structurée, matplotlib a plusieurs fonctions telles que triplot() et plot_trisurf() etc.
Qu'est-ce qu'une grille triangulaire non structurée ?
La grille triangulaire non structurée est couramment utilisée pour comprendre différents systèmes tels que la modélisation informatique et les simulations, où les données sont complexes et doivent être résolues pour comprendre le concept sous-jacent.
Ainsi, une grille triangulaire non structurée est en elle-même un moyen de diviser le plan euclidien en différentes formes telles que des triangles et des tétraédriques sans suivre un motif régulier. Par conséquent, vous pouvez l’utiliser pour visualiser des données complexes.
Maintenant, que signifient les lignes ou les marqueurs ici ? Des lignes ou des marqueurs en font partie, ils montrent comment la grille est représentée dans un tracé. Les lignes relient les sommets des triangles de la grille et fournissent ainsi une représentation visuelle des limites des triangles de la grille, tandis que les marqueurs représentent les sommets des triangles de la grille.
Exemple
Dessinons une grille triangulaire non structurée en utilisant matplotlib en python.
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.tri as tri
# for generating random points
ran_points = 80
x = np.random.rand(ran_points)
y = np.random.rand(ran_points)
# triangulation of the points
triangle_point = tri.Triangulation(x, y)
# Plot the triangulation with markers
plt.triplot(triangle_point, 'bo-', lw=1)
plt.title('Unstructured Triangular Grid')
plt.show()
Sortir
Exemple
Ici, nous avons importé trois bibliothèques et le code reste le même. Vous apportez des modifications à la grille triangulaire.
Dans la dernière ligne de traçage de la grille triangulaire, nous avons utilisé le « plt.tricontourf(tri, valeurs) » pour créer un tracé de contour rempli.
La fonction tricontourf() utilise des valeurs estimées linéaires pour calculer les sommets de chaque triangle, puis remplit les triangles avec la couleur de la valeur correspondante.
Ensuite, la fonction 'plt.triplot(tri, Marker='2', Markersize=3, linestyle='-', color='k')' est utilisée, elle couvre la grille triangulaire au-dessus du tracé de contour sous forme de lignes noires. en utilisant un triplot.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.tri as mtri
# for generating random points
ranpoints = 30
x = np.random.rand(ranpoints)
y = np.random.rand(ranpoints)
tri = mtri.Triangulation(x, y)
# Generate random values to color the triangles
values = np.random.rand(ranpoints)
# Plot the triangular grid
plt.tricontourf(tri, values)
plt.triplot(tri, marker='2', markersize=3, linestyle='-', color='k')
plt.show()
Sortir
Erreurs courantes
Vous pouvez être confronté à certaines des erreurs courantes lors du dessin de grilles triangulaires non structurées à l'aide de matplotlib. Voyons quelques-uns d’entre eux avec la solution de chacun.
-
ValueError : Vous pouvez rencontrer cette erreur si la longueur des tableaux x et y transmis au constructeur de triangulation n'est pas égale. Pour corriger cette erreur, essayez de mettre le même nombre d’éléments pour chacun.
AttributeError : Cette erreur peut se produire lorsque des get_masked_triangles sont utilisés sur un objet de triangulation qui n'a pas de masque défini. Pour corriger cette erreur, vous devez définir un masque pour l'objet de triangulation à l'aide de la méthode triang.set_mask.
TypeError : si vous essayez d'accéder à un élément d'un objet float en utilisant la notation en indice. Pour éviter cela, vous devez vous assurer que la variable accessible est un tableau ou une liste.
ValueError : Le troisième argument doit être une chaîne de format – cette erreur peut se produire lorsque la chaîne de format passée à la fonction triplot() n'est pas valide. Pour éviter cette erreur, la chaîne de format doit être un format de style de ligne matplotlib valide.
Conclusion
Dans cet article, nous avons dessiné différentes grilles triangulaires non structurées sous forme de marqueurs ou de lignes à l'aide de matplotlib. Nous avons commencé l'article par les bases, c'est-à-dire en expliquant ce qu'est matplotlib et les fonctions qui seront utilisées pour dessiner une grille triangulaire non structurée.
Une brève explication est donnée sur la grille triangulaire non structurée et son utilisation. En utilisant différentes fonctions de la bibliothèque Matplotlib, nous avons dessiné la grille. Cela montre à quel point les bibliothèques Python sont puissantes et utiles pour simplifier les données complexes à l'aide de la visualisation des données.