2016-04-21 3 views
0

Existe-t-il un moyen simple de tracer toutes les entités d'un GeoDataFrame comme étant de la même couleur, plutôt que la carte de couleurs par défaut?Geopandas tracer toutes les caractéristiques de la même couleur

Dire que j'ai la geodataframe suivante linestrings:

>>> import geopandas as gpd 
>>> from shapely.geometry import LineString 
>>> 
>>> gdf=gpd.GeoDataFrame(geometry=[LineString([(1,2),(4,5)]),LineString([(6,3),(7,3)]),LineString([(6,2),(8,9)])]) 
>>> gdf 
       geometry 
0 LINESTRING (1 2, 4 5) 
1 LINESTRING (6 3, 7 3) 
2 LINESTRING (6 2, 8 9) 
>>> 

Comment puis-je utiliser gdf.plot() mais ont tous les 3 LineStrings apparaissent de couleur noire?

+0

Vous pouvez spécifier cela avec le mot clé de couleur: 'gdf.plot (color = 'black')' – joris

+0

Cela n'a pas fonctionné pour moi. Je reçois la même intrigue si je fais 'gdf.plot()' ou 'gdf.plot (color = 'black')' – AJG519

+0

Ah, peut-être que cela est corrigé dans la version de développement mais pas encore dans la dernière version publiée. Si vous faites pip - install git + git: // github.com/geopandas/geopandas.git', ça devrait fonctionner je pense – joris

Répondre

2

Étant donné que la définition d'une seule couleur n'est pas encore implémentée, vous pouvez simplement créer votre propre palette de couleurs avec une seule couleur.

from matplotlib.colors import ListedColormap  
mycolor = ListedColormap('blue') 

Pour votre exemple, cela conduirait à

import geopandas as gpd 
from shapely.geometry import LineString 
from matplotlib.colors import ListedColormap  

mycolor = ListedColormap('blue')   
gdf=gpd.GeoDataFrame(geometry=[LineString([(1,2),(4,5)]),LineString([(6,3),(7,3)]),LineString([(6,2),(8,9)])]) 
gdf.plot(colormap=mycolor) 

Figure Result

Bien sûr, vous pouvez utiliser une autre couleur matplotlib.