python - Pandas/Geopandas:在同一图上显示来自两个不同数据帧的纬度/经度点
问题描述
我一直在关注本教程:https ://towardsdatascience.com/geopandas-101-plot-any-data-with-a-latitude-and-longitude-on-a-map-98e01944b972并成功绘制了一张地图,但是在同一图中添加第二层点时遇到问题。我认为这是对情节如何运作的普遍误解。
以下作品:
fig,ax = plt.subplots(figsize=(15,15))
nycmap.plot(ax=ax)
geometry = [Point(xy) for xy in zip( df['LONGITUDE'], df['LATITUDE'])]
geo_df = gpd.GeoDataFrame(df, crs = {'init':'epsg:4326'}, geometry = geometry)
fig,ax = plt.subplots(figsize=(15,15))
nycmap.plot(ax = ax, alpha = 0.4, color="blue")
geo_df.plot(ax=ax, markersize=1, color = "yellow", marker = 'o', label = "permit")
plt.legend(prop={'size': 15})
现在我有第二个数据框,我想在第一个数据框之上绘制,但我不太确定如何让它工作。根据值的范围,它们将具有不同的颜色。
这是我尝试与上述代码交织在一起的内容:
geometry2 = [Point(xy) for xy in zip( df2['Longitude'], df2010['Latitude'])]
fig,ax = plt.subplots(figsize=(15,15))
geo_df2 = gpd.GeoDataFrame(df2, crs = {'init':'epsg:4326'}, geometry = geometry2)
fig,ax = plt.subplots(figsize=(15,15))
nycmap.plot(ax = ax, alpha = 0.4, color="blue")
geo_df2[geo_df2['sum'] <= 1236].plot(ax=ax, markersize=1, color = 'red', marker = 'x', label = "Below")
geo_df2[(geo_df2['sum'] > 1237) & (geo_df2['sum'] <= 1606)].plot(ax=ax, markersize=1, color = 'orange', marker = 'x', label = "Average")
geo_df2[(geo_df2['sum'] < 1607) & (geo_df2['sum'] <= 2087)].plot(ax=ax, markersize=1, color = 'green', marker = 'x', label = "Max")
plt.legend(prop={'size': 15})
有人能告诉我哪里出错了吗?它没有显示好的情节,只是空白情节的一小部分
解决方案
推荐阅读
- reactjs - Apache2 服务器将 Access-Control-Allow-Origin 标头应用于每个响应,XHR 除外
- c# - 在中间件 .net core 2.0 中获取访问令牌
- python - 从数据框创建多个箱线图
- excel - 如何将“For”循环中的值写入单元格
- javascript - 将全局对象作为参数传递给自执行函数有什么意义?
- django - 如何通过管理界面在一个页面上显示两个未关联的模型?
- android - 如何检测 android 应用程序内的当前发布轨道?(Google Play 控制台)
- python - Python 平衡列表/numpy 数组中的项目
- javascript - moment.localeData 不是函数错误消息
- javascript - 在for of循环中使用数组解构?