En python, superposez 4 types de diagrammes: diagramme d'arrière-plan, diagramme de contour, diagramme vectoriel et diagramme de tracé de couleur. Le diagramme d'arrière-plan utilise le fichier shp, le diagramme de contour, le diagramme vectoriel et le diagramme de tracé de couleur utilisent tous des données de grille 2D.
Vous pouvez facilement charger et dessiner la carte d'arrière-plan avec des géopandas. De plus, lors de l'installation de geopandas avec pip, cela ne fonctionnait que si GDAL et Fiona étaient installés en premier.
import geopandas as gpd
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
#--1.Dessin d'arrière-plan-------------------
shapefile='line.shp'
data = gpd.read_file(shapefile)
ax.set_xlim([-100000,0])
ax.set_ylim([-120000,-60000])
data.plot(ax=ax, color='black')
#-------------------------------
plt.show()
Lisez les données du maillage et dessinez le contour de couleur avec le maillage pcolor. Superposez le diagramme de fond ci-dessus à partir du haut du contour de couleur.
import geopandas as gpd
import matplotlib.pyplot as plt
from matplotlib.colors import Normalize
import numpy as np
from matplotlib.cm import ScalarMappable
#
# (Données lues ⇒ X,Y,Z):réduction
fig, ax = plt.subplots()
#--2.Dessin de maillage de couleur-------------------------------
fig, ax = plt.subplots()
norm = Normalize(vmin=-500,vmax=2000)
map = ax.pcolormesh(X,Y,Z, cmap='rainbow', norm=norm)
#
sm = ScalarMappable(cmap='rainbow', norm=norm)
sm.set_clim(-500,2000)
pp = fig.colorbar(sm,orientation='horizontal')
#----------------------------------------------------
#1.Dessin d'arrière-plan: identique à celui ci-dessus / omis
plt.show()
Créez un diagramme de contour à partir des données de maillage ci-dessus et affichez-le en couches.
# (Importation de module): Identique à ci-dessus / omis
# (Données lues ⇒ X,Y,Z):réduction
fig, ax = plt.subplots()
#2.Dessin de maillage de couleur: identique à ci-dessus / omis
#--3.Dessin de contour-----------------------------------
cont=ax.contour(X,Y,Z, 100, colors=['purple'])
#----------------------------------------------------
#1.Dessin d'arrière-plan: identique à celui ci-dessus / omis
plt.show()
Enfin, superposez le diagramme vectoriel. Le vecteur est la pente du terrain.
# (Importation de module): Identique à ci-dessus / omis
# (Données lues ⇒ X,Y,Z):réduction
fig, ax = plt.subplots()
#2.Dessin de maillage de couleur: identique à ci-dessus / omis
#3.Dessin de contour: identique à ci-dessus / omis
cont=ax.contour(X,Y,Z, 100, colors=['purple'])
#--4.Dessin de diagramme vectoriel-----------------------------------
# (Définition vectorielle ⇒ U,V):réduction
vect=ax.quiver(X,Y,U,V,color='grey',angles='xy',scale_units='xy', scale=0.0001)
ax.quiverkey(vect,0.0,1.1,1.0,'slope')
#----------------------------------------------------
#1.Dessin d'arrière-plan: identique à celui ci-dessus / omis
plt.show()
Recommended Posts