2017-05-19 3 views
1

Actuellement, j'utilise la fonction tripcolor pour la triangulation et l'ombrage des données de points 3D. Ce que je reçois est une coupe de données cartographiques. Et il y a plus de données que je veux utiliser. J'ai aussi un shapefile qui contient un ensemble de polygones. Le but de mon travail est de classer les types de toits. Ainsi, les formes dans le fichier de formes sont des bordures qui incluent les toits de la carte que vous pouvez voir. Ce que j'ai maintenant, c'est l'ensemble des points en coordonnées x et y afin que je puisse rendre la carte que vous pouvez voir ci-dessous. Comment puis-je ajouter une couche supplémentaire à l'intérieur de cette intrigue qui dessine les polygones des formes dans la carte?Ajout d'une couche de polygones à un tracé existant en Python Matplotlib

plt.tripcolor(x, y, z, shading='gouraud') 

enter image description here

Répondre

2

formes Ajout sur un terrain peut être fait en utilisant un PolyCollection.

import matplotlib.pyplot as plt 
from matplotlib import collections 
import numpy as np; np.random.seed(17) 

b = np.random.rand(100,3) 

fig, ax = plt.subplots() 
ax.tripcolor(b[:,0],b[:,1],b[:,2], shading='gouraud') 

polys = [np.random.rand(4,2)*.3+np.random.rand(1,2)*((2*i+1)/6.) for i in range(3)] 
pc = collections.PolyCollection(polys, color="crimson")  
ax.add_collection(pc) 

plt.show() 

enter image description here