2016-04-21 77 views
0

是否有任何簡單的方法將GeoDataFrame中的所有要素都繪製爲相同的顏色,而不是默認的顏色貼圖?Geopandas繪製的所有特徵顏色相同

說我有線串以下geodataframe:

>>> 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) 
>>> 

如何使用gdf.plot()但都3條路線]出現染成黑色?

+0

您可以使用color關鍵字指定:'gdf.plot(color ='black')' – joris

+0

這對我沒有用。如果我使用'gdf.plot()'或'gdf.plot(color ='black'),我可以得到同樣的情節。' – AJG519

+0

啊,可能這是在開發版本中修復的,但尚未在最新發布的版本中修復。如果你做'pip安裝 - 升級git + git:// github.com/geopandas/geopandas.git',它應該可以工作我認爲 – joris

回答

2

由於設置單一顏色尚未實現,因此只需使用一種顏色即可創建自己的顏色映射。

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

爲了您的例子,這會導致

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

當然你也可以使用任何其他matplotlib顏色。