python - 根据给定的 u,v 节点值将颜色分配给 osmnx 图中的特定边
问题描述
我正在绘制一个 osmnx 图:虽然我可以控制节点颜色,但我无法控制边缘颜色。
我的目标是仅将蓝色分配给由 u_node = 4515988732 和 v_node=2021402216 定义的边缘。我努力了:
for u,v,k in G.edges(keys=True, data=False):
if (u==4515988732 and v==2021402216):
ev='b'
但是当我用以下方法绘制它们时,所有边缘都被绘制为蓝色:
fig, ax = ox.plot_graph(G, fig_height=7, node_color=nc,
node_size=10, node_alpha=0.8, node_zorder=2,
edge_color=ev, edge_linewidth=1)
我也试过:
ev=[(u,v,'b') for u,v,k in G.edges(keys=True, data=False) if
(u==4515988732 and v==2021402216)]
但在这种情况下,我得到一个无效的 RGBA 参数错误。我花了很多时间,但我是 osmnx 的新手,我无法找到正确的语法来实现我的目标:我哪里出错了?
解决方案
OSMnx示例演示了如何根据某些特征为边缘着色。
ec = ['b' if (u==4515988732 and v==2021402216) else 'r' for u, v, k in G.edges(keys=True)]
fig, ax = ox.plot_graph(G, node_color='w', node_edgecolor='k', node_size=30,
node_zorder=3, edge_color=ec, edge_linewidth=3)
推荐阅读
- angular - Angular:如何将自定义指令注入组件
- python - 如何使这个队列并行?
- kotlin - 将 flatMap 与 Completable 一起使用
- python-3.x - ModuleNotFoundError:没有名为“pptx”的模块
- .net - ValueProviderResult.ConvertTo 在本地和云端返回不同的日期
- mysql - mySQL 如果 GROUP_CONCAT 返回 NULL,则排除整个结果
- javascript - 选择a时如何更改href
- sql-server - sqlcmd does not close the connection in bash script while running multiple sqlcmd
- java - 我尝试保留输入,但抛出了 InvalidFormatException
- node.js - 通过 google sheetAPI 更新单元格时出现错误 400