... | ... | @@ -60,10 +60,9 @@ Quelques remarques suite à la première figure générée : |
|
|
* Une matrice, par défaut, est tracée par matshow() selon une grille avec la première valeur dans la case _en haut à gauche_. Les cases représentant un élément de la matrice sont _centrées sur les points de grille_. => on préfèrerait 1 carré = 1 pixel : étape 2
|
|
|
* voir l'échelle colorimétrique : étape 3
|
|
|
* comment customiser l’échelle ? : étape 4
|
|
|
* comment travailler avec des données géoréférencées ? : étape 5
|
|
|
|
|
|
| deuxième étape : méthode `matshow `en spécifiant uniquement la matrice ; on a ajouté une `colorbar` | troisième étape : on envoie à matshow l'argument extent, ce qui revient à définir les coordonnées des 4 coins |
|
|
|
|------------------------------|-----------------------------------------|
|
|
|
* comment travailler avec des données géoréférencées ? : étape 5
|
|
|
| deuxième étape : méthode `matshow `en spécifiant uniquement la matrice ; on a ajouté une `colorbar` | troisième étape : on envoie à matshow l'argument extent, ce qui revient à définir les coordonnées des 4 coins |
|
|
|
|-----------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|
|
|
|
| ![Cartes_Replit_2](uploads/cf23f79e6554fe32fbc2de57eceb3e89/Cartes_Replit_2.PNG) | ![](uploads/7b3cc259ebe50939fce5a65662361842/Cartes_Replit_3.PNG) |
|
|
|
|
|
|
\*\*Etape 1.b \*\*: légende colorimétrique
|
... | ... | @@ -90,7 +89,7 @@ plt.tick_params(labeltop=False, labelbottom=True) |
|
|
fig.show()
|
|
|
```
|
|
|
|
|
|
# **Etape 1.b **: On spécifie les coordonnées des coins grâce à l'argument _extent_.
|
|
|
# \*\*Etape 1.b \*\*: On spécifie les coordonnées des coins grâce à l'argument _extent_.
|
|
|
|
|
|
La carte reste visuellement identique mais le repère a changé : les cases coïncident alors avec les mailles de la grille, et l'axe des y prend alors la valeur 0 en bas . Pour bien montrer le changement de repère, on a placé un rectangle défini de la même manière qui n'a pas le même emplacement dans les 2 repères. Voir aussi l'argument **origin** qui peut être utile.
|
|
|
|
... | ... | @@ -110,7 +109,7 @@ plt.tick_params(labeltop=False, labelbottom=True) |
|
|
fig.show()
|
|
|
```
|
|
|
|
|
|
**Etape 1.d **: personnaliser l'échelle colorimétrique et la légende correspondante On peut personnaliser le code couleur, en imposant les couleurs et les limites de classe, et la légende, en formatant les valeurs ou en ajoutant un titre par exemple.
|
|
|
\*\*Etape 1.d \*\*: personnaliser l'échelle colorimétrique et la légende correspondante On peut personnaliser le code couleur, en imposant les couleurs et les limites de classe, et la légende, en formatant les valeurs ou en ajoutant un titre par exemple.
|
|
|
| 4) on peut définir une colormap par une liste de couleurs, et spécifier des limites de classe ; notez les classes pour "-200 et moins" ou "500 et plus" | 5) quand c'est préférable, on peut partir d'une échelle colorimétrique continue que l'on va découper en N classes. Il reste possible de la modifier couleur par couleur. |
|
|
|
|---------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
|
| ![Cartes_Replit_4](uploads/d34b473b6d3dc4b6e991bc66b9e6a79e/Cartes_Replit_4.PNG) | ![Cartes_Replit_5](uploads/a869b3360c738f4bd1927d213b767689/Cartes_Replit_5.PNG) |
|
... | ... | @@ -166,8 +165,7 @@ fig.show() |
|
|
|
|
|
## **Etape 2** : Lire et tracer des shapes
|
|
|
|
|
|
=================
|
|
|
Lire des fichiers _shape_\*, issus de SIG comme QGis (plusieurs fichiers dont un avec l'extension \*.shp) est utile indépendamment ou avec une représentation de champs de valeur, pour laquelle ils serviront au minimum de points de repère. Dans cette partie, on va travailler avec des vrais fichiers de champs et des shapes.
|
|
|
================= Lire des fichiers _shape_\*, issus de SIG comme QGis (plusieurs fichiers dont un avec l'extension \*.shp) est utile indépendamment ou avec une représentation de champs de valeur, pour laquelle ils serviront au minimum de points de repère. Dans cette partie, on va travailler avec des vrais fichiers de champs et des shapes.
|
|
|
|
|
|
Au passage, rappelons que la [base de données vectorielle TOPO de l'IGN est téléchargeable en ligne](https://geoservices.ign.fr/documentation/donnees/vecteur/bdtopo). Un[document décrit les données](https://geoservices.ign.fr/sites/default/files/2021-07/DC_BDTOPO_3-0_0.pdf), avec notamment couches hydrographiques disponibles (réseau hydrographique, bassins versants à chaque confluence...)
|
|
|
|
... | ... | @@ -235,6 +233,20 @@ mon_champ.trace_champ(cmap, cbounds) |
|
|
|
|
|
**Etape 3** : lire des données (x,y,z) et les représenter par des isolignes
|
|
|
|
|
|
```python
|
|
|
from matplotlib import pyplot as plt
|
|
|
matrice = [[1, 2, 30, 50, 120], [21, 2, 50, 50, 90], [-1, 2, -30, 50, -120], [41, 42, 80, 50, 50], [9, 29, 39, 590, 10]]
|
|
|
|
|
|
cax = plt.contour(matrice) # renvoie un objet matplotlib.contour.QuadContourSet
|
|
|
cbar= plt.colorbar(cax)
|
|
|
plt.show()
|
|
|
```
|
|
|
| x et y | _matrice de l'étape 1 représentée avec contour_ | matrice de l'étape 1 représentée avec contourf |
|
|
|
|--------|-------------------------------------------------|------------------------------------------------|
|
|
|
| non précisés | ![contour_carre](uploads/93fc3d27b2eb873fb169d24e5b1006dd/contour_carre.png)![contourf_carre](uploads/ad802a120aa60ae7accdee6dba432ad8/contourf_carre.png) | |
|
|
|
| x et y = (1,2,5,10,20) | ![contour](uploads/f0f3c34ef3476098e086ba2d06a9c04d/contour.png) | ![contourf](uploads/1c700acfb0c156acf77d7e4046f3907e/contourf.png) |
|
|
|
| avec x et y = (1,2,5,10,20) | avec x et y = (1,2,5,10,20) | |
|
|
|
|
|
|
```python
|
|
|
from matplotlib import pyplot as plt
|
|
|
matrice = [[1, 2, 30, 50, 120], [21, 2, 50, 50, 90], [-1, 2, -30, 50, -120], [41, 42, 80, 50, 50], [9, 29, 39, 590, 10]]
|
... | ... | @@ -254,7 +266,4 @@ voir code. |
|
|
|
|
|
#### NB : Inclure sur une même figure des champs et des polygones issus de fichiers shape
|
|
|
|
|
|
Cela s'obtient en passant un "ax" comme argument ou en retournant un "ax". Sera détaillé si besoin.
|
|
|
| ![contour](uploads/f0f3c34ef3476098e086ba2d06a9c04d/contour.png) | ![contourf](uploads/1c700acfb0c156acf77d7e4046f3907e/contourf.png) |
|
|
|
|------------------------------------------------------------------|--------------------------------------------------------------------|
|
|
|
| _matrice de l'étape 1 représentée avec contour_ | matrice de l'étape 1 représentée avec contourf | |
|
|
\ No newline at end of file |
|
|
Cela s'obtient en passant un "ax" comme argument ou en retournant un "ax". Sera détaillé si besoin. |
|
|
\ No newline at end of file |