在 python 的 OSMnx 中以速度限制为条件绘制边缘
Plot edges conditional on speed limit in python's OSMnx
我需要绘制以 speed_kph
值为条件的边,使得 speed_kph
> A 的边是颜色 X,而 speed_kph
< A 的边是颜色 Y。这可能吗在 OSMnx 中?
来自:
map = ox.graph_from_place('Paradise, California', network_type='drive')
我可以绘制:ox.plot_graph(map,bgcolor='#FFFFFF',edge_color='#000000',node_color='#000000');
按照其他文档中的描述估算速度和行程时间: map_cons_speed = ox.add_edge_speeds(map) map_cons_speed = ox.add_edge_travel_times(map_cons_speed)
然后提取边:gdf_nodes, gdf_edges = ox.graph_to_gdfs(map_cons_speed)
但我无法弄清楚情节如何以限速为条件。
有人有什么想法吗?预先感谢您的宝贵时间!
根据该属性创建边缘颜色列表:
import osmnx as ox
G = ox.graph_from_place('Paradise, California', network_type='drive')
G = ox.add_edge_speeds(G)
ec = ['y' if d < 50 else 'r' for u, v, d in G.edges(data='speed_kph')]
fig, ax = ox.plot_graph(G, node_alpha=0.1, edge_color=ec)
或者使用plot.get_edge_colors_by_attr
函数根据属性值从颜色图中分配颜色:
import osmnx as ox
G = ox.graph_from_place('Paradise, California', network_type='drive')
G = ox.add_edge_speeds(G)
ec = ox.plot.get_edge_colors_by_attr(G, 'speed_kph', cmap='plasma')
fig, ax = ox.plot_graph(G, node_alpha=0.1, edge_color=ec)
我需要绘制以 speed_kph
值为条件的边,使得 speed_kph
> A 的边是颜色 X,而 speed_kph
< A 的边是颜色 Y。这可能吗在 OSMnx 中?
来自:
map = ox.graph_from_place('Paradise, California', network_type='drive')
我可以绘制:ox.plot_graph(map,bgcolor='#FFFFFF',edge_color='#000000',node_color='#000000');
按照其他文档中的描述估算速度和行程时间: map_cons_speed = ox.add_edge_speeds(map) map_cons_speed = ox.add_edge_travel_times(map_cons_speed)
然后提取边:gdf_nodes, gdf_edges = ox.graph_to_gdfs(map_cons_speed)
但我无法弄清楚情节如何以限速为条件。
有人有什么想法吗?预先感谢您的宝贵时间!
根据该属性创建边缘颜色列表:
import osmnx as ox
G = ox.graph_from_place('Paradise, California', network_type='drive')
G = ox.add_edge_speeds(G)
ec = ['y' if d < 50 else 'r' for u, v, d in G.edges(data='speed_kph')]
fig, ax = ox.plot_graph(G, node_alpha=0.1, edge_color=ec)
或者使用plot.get_edge_colors_by_attr
函数根据属性值从颜色图中分配颜色:
import osmnx as ox
G = ox.graph_from_place('Paradise, California', network_type='drive')
G = ox.add_edge_speeds(G)
ec = ox.plot.get_edge_colors_by_attr(G, 'speed_kph', cmap='plasma')
fig, ax = ox.plot_graph(G, node_alpha=0.1, edge_color=ec)