python - 如何在图形顶部绘制 osmnx 几何图形?
问题描述
我开始使用osmnx
Python 包并且有问题:
以下最小的工作示例是在我的图表上绘制其他几何图形的正确方法
G
还是有更好的方法?正如您在代码下方的结果图中看到的那样,河流(Tajo)没有完全着色。蓝色突然停止,因为标签一定已经改变了。我尝试了多个标签,但找不到合适的标签来为河流的其余部分着色(您应该在红色圆圈所在的位置看到蓝色)。有人知道正确的标签是什么吗?(编辑:它似乎被“成本线”边界包围)
import osmnx as ox
ox.config(log_console=False, use_cache=True)
# Coordinates Lisbon
bbox = [38.7969489, 38.6919296, -9.088, -9.2296891]
# Query graph for Lisbon
G = ox.graph_from_bbox(
*bbox,
simplify=True,
retain_all=True,
clean_periphery=True,
truncate_by_edge=True,
network_type="drive_service",
)
# Find additional geometries
water_1 = ox.geometries_from_bbox(*bbox, tags={"natural": ["water"]})
water_2 = ox.geometries_from_bbox(
*bbox,
tags={
"waterway": ["riverbank", "canal", "dock"],
"water": ["river", "canal", "reservoir"],
"natural": ["bay"],
},
)
water_3 = ox.geometries_from_bbox(*bbox, tags={"place": ["sea", "ocean"]})
motoway = ox.geometries_from_bbox(
*bbox,
tags={
"highway": [
"motorway",
"motorway_link",
"trunk",
"trunk_link",
]
},
)
# PLOT
fig, ax = ox.plot_graph(
G,
bgcolor="white",
node_size=0,
edge_linewidth=1,
show=False,
close=False,
figsize=(60, 80),
dpi=100,
save=True,
filepath="lisbon.jpg",
)
water_1.plot(color="#466A8C", linewidth=1, ax=ax)
water_2.plot(color="#466A8C", linewidth=1, ax=ax)
water_3.plot(color="#466A8C", linewidth=1, ax=ax)
motoway.plot(color="#000000", linewidth=2, ax=ax)
解决方案
推荐阅读
- javascript - 当我使用 currentddate.setDate(currentddate.getDate() + 30) 从今天开始添加 30 天时出现奇怪的数字
- javascript - 如何将单击按钮更改为窗口加载
- excel - 直到单元格值介于 -1 和 1 之间
- javascript - Google Apps 脚本类 UrlFetchApp 用于获取网址不以“http://”开头的网页
- javascript - 按类型单击 selenium 中的项目
- javascript - 无法让凉亭安装聚合物“凉亭组件”文件夹丢失?
- office-js - 有没有办法以编程方式跟踪 word doc 中的更改?
- firebase - 铸造 firebaseId 令牌异常缓慢
- c++ - 如何将 uint8 列表转换为相应的有符号值?
- matlab - 如何使用带有以下名称的名称保存 .mat 文件: