2016-04-21 60 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颜色。