根据给定的u,v节点值将颜色分配给osmnx图中的特定边缘

时间:2018-12-29 00:54:49

标签: python osmnx

我正在绘制osmnx图:虽然我可以控制节点颜色,但无法控制边缘颜色。

我的目标是仅将蓝色分配给u_node = 4515988732和v_node = 2021402216定义的边缘。我尝试过:

ssh azureuser@<publicIpAddress>
sudo waagent -deprovision+user -force
exit

但是当我用以下方式绘制边缘时,所有边缘都以蓝色绘制:

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)

,但是在这种情况下,我收到无效的RGBA参数错误。 我花了很多时间,但是我对osmnx还是陌生的,我无法找到正确的语法来实现自己的目标:在这里哪里出错了?

1 个答案:

答案 0 :(得分:0)

OSMnx examples演示了如何根据某些特征为边缘着色。

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)