[PYTHON] Comprenez les points de la grille et jouez avec les courbes de niveau.

Bonjour. ** meshgrid ** n'est-il pas déroutant? Aujourd'hui, je vais me concentrer sur la ** grille maillée **. Et je jouerai avec le contour qui est une méthode pour dessiner des ** contours ** en l'utilisant.

Qu'est-ce que * meshgrid *

** meshgrid ** est utilisé pour créer des ** points de grille **.

Qu'est-ce qu'un point de grille?

Les points du plan de coordonnées qui sont des nombres entiers dans les coordonnées x et y sont appelés points de grille.

スクリーンショット 2019-12-18 17.11.24.png En d'autres termes, tous les points de cette image.

Maintenant, écrivez le code.

import numpy as np
x = [0, 1, 2, 3]
y = [0, 1, 2, 3]

X, Y = np.meshgrid(x, y)

X et Y sont les suivants. スクリーンショット 2019-12-18 17.18.06.png Beaucoup de gens peuvent penser ce que c'est ~~~~~~~~~~?!?!?!?!?!?!?!, Mais faites de votre mieux. Voyons ce que cela signifie. Voyons comment le premier ** plan de coordonnées et cette matrice sont liés **. Voir l'image ci-dessous. スクリーンショット 2019-12-18 17.26.02.png

comment c'est? Tu es venu un peu? alors. Les positions des matrices X et Y sont ** appariées ** avec les coordonnées sur le plan! (Le haut et le bas sont inversés) En d'autres termes, le coin supérieur gauche de la matrice est le coin inférieur gauche en termes de coordonnées. Lorsque vous allez en bas à droite de la matrice, il va en haut à droite en termes de coordonnées.

Si vous savez qu'ils correspondent, les magnitudes de X et Y seront (len (y), len (x)). Et len (x) * len (y) = nombre de points de grille. Pourquoi demandes-tu? Écrivez-le d'abord sur une feuille de papier et réfléchissez lentement.

Considérons x et y avec des tailles différentes. スクリーンショット 2019-12-18 17.40.30.png

En pensant à X, ** X n'a toujours que 0 ou 1 comme élément **. Parce qu'il n'y a que 0,1 dans le tableau appelé x. Et si vous pensez de 0 à 1 comme un bâton, vous pouvez empiler 3 bâtons à y = 0, 100, 200. Cela signifie que vous avez besoin de 3 lignes de [0, 1]. Donc la matrice de X est 3 * 2 = len (y) * len (x).

Y est le même, n'est-ce pas?

J'ai donné une explication assez déroutante, mais en un mot ** La taille de la matrice est égale à la longueur x largeur des points de la grille ** Ceci est très simple et peut éviter toute confusion. Même ainsi, c'est beau.

Dessinez des lignes de contour à l'aide de meshgrid.

import numpy as np
import matplotlib.pyplot as plt

# z = 2(x + y)
def f(x, y):
    return 2 * (x + y)

x = [-1, 0, 1, 2, 3]
y = [-1, 0, 1, 2, 3]

X, Y = np.meshgrid(x, y)

fig, ax = plt.subplots()
cont = ax.contour(X, Y, f(X, Y), levels=[0, 2, 4]) #Expliquez seulement ici.
cont.clabel(fmt='%1.1f', fontsize=14)
plt.show()

Figure_1.png Le résultat est comme ça. En fait, si x = 2, y = -1, alors z = 2 (2-1) = 2 * 1 = 2.

Je n'expliquerai que * contour *. contour(X, Y, Z=f(X,Y), levels=[0, 2, 4]) Tout d'abord, * contour * est un outil pour trouver des lignes de contour. Une ligne de contour est une connexion des mêmes valeurs de Z dérivées de x et y. X et Y sont des points de grille et f (X, Y) est utilisé pour trouver Z à chaque point de grille. Vous connectez les lignes le long de ce Z. Afin de connaître le Z à chaque position, nous avons besoin de ** points de grille **. Les derniers niveaux sont facultatifs, mais ceux spécifiés ici seront affichés sous forme de lignes.

Résumé

Aujourd'hui, j'ai principalement écrit sur meshgrid. Ensuite, j'ai joué avec contour, un outil pour dessiner des lignes de contour à l'aide de meshgrid. meshgrid est utilisé dans de nombreux endroits. Il est indispensable de bien le comprendre. Merci beaucoup.

Les références

Qu'est-ce qu'un point de grille?

Recommended Posts

Comprenez les points de la grille et jouez avec les courbes de niveau.
Jouez avec la série Poancare et SymPy
Fractal pour faire et jouer avec Python
Jouez avec PDBBind de MoleculeNet et RDKitGridFeaturizer de DeepChem
Chargez CSV avec des pandas et jouez avec Index
Jouez avec Prophet
Jouez avec PyTorch
Jouez avec 2016-Python
Jouez avec CentOS 8
Jouez avec Pyramid
Jouez avec Fathom
Comment boucler et lire une vidéo gif avec openCV
[Comment!] Apprenez et jouez à Super Mario avec Tensorflow !!