Python 无法为GeoDataFrame点着色

Python 无法为GeoDataFrame点着色,python,matplotlib,geopandas,Python,Matplotlib,Geopandas,我想画出巴黎的位置,并按列类型给它们上色。我还想绘制一个与位置类型关联的图例。我可以创建GeoDataframe,绘制整个巴黎的位置。但是,我无法指定地图上点的颜色。此外,我必须单独创建一个图例,然后将其应用于绘图 如何获得绘图点的颜色以匹配图例列 代码: 理想情况下,您必须使用GeoPandas 0.6.3或0.7.0。然后,您应该能够在打印期间将color列传递到color关键字中,并且geopandas应该将指定给每行的颜色映射到其几何体。请参阅以下演示该行为的片段: import ge

我想画出巴黎的位置,并按列类型给它们上色。我还想绘制一个与位置类型关联的图例。我可以创建GeoDataframe,绘制整个巴黎的位置。但是,我无法指定地图上点的颜色。此外,我必须单独创建一个图例,然后将其应用于绘图

如何获得绘图点的颜色以匹配图例列

代码:


理想情况下,您必须使用GeoPandas 0.6.3或0.7.0。然后,您应该能够在打印期间将
color
列传递到
color
关键字中,并且geopandas应该将指定给每行的颜色映射到其几何体。请参阅以下演示该行为的片段:

import geopandas as gpd
from shapely.geometry import Point

g = [Point(0, 0), Point(1, 0), Point(1,1), Point(0.5, .5)]
gdf = gpd.GeoDataFrame(geometry=g)
gdf['colour'] = ['#0000ff', 'r', '#0000ff', 'k']
gdf.plot(color=gdf.colour)

在您的情况下,这应该可以做到:

stores.plot(ax=ax, figsize=(40,10), color=stores['colour'])

如果没有,则说明您正在使用旧版本的geopandas,或者存在错误。在这种情况下,请。

如果不知道gdf的结构,很难猜测。但是如果你直接传递颜色,你必须将它们传递到
颜色
而不是
。hi@martinfleis type | address | lat | lng | color casino 20 rue du chemin vert,75011,paris 48.8581032 2.3722275 | 0000ff是结构。我尝试过使用颜色('c'),但在尝试提供多种颜色时出现了一个错误-我将数据框中的颜色列作为一个系列传递给它。我尝试使用colormap来解决这个问题,但是我无法将颜色映射到图例。不要使用
c
而是如上所述的
color
。当我将“color”列作为color参数的源时,我得到这个“color”kwarg必须是mpl颜色规范或颜色规范序列。对于要进行颜色映射的值序列,请改用“c”参数。我使用c作为颜色不起作用,也许我传递的系列错误?:stores.plot(ax=ax,figsize=(40,10),color=stores['color'],cmap=None)你能编辑上面的文章,包括你的gdf的
.head()
?如果您使用的是最新的Geopanda,这应该可以工作<代码>c
不由geopandas管理,而是传递给matplotlib<代码>颜色
由geopandas管理,在这种情况下,应注意颜色分配。
stores.plot(ax=ax, figsize=(40,10), color=stores['colour'])