我正在绘制 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 的新手,我无法找到正确的语法来实现我的目标:我哪里出错了?
1 回答
慕的地8271018
TA贡献1796条经验 获得超4个赞
该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)
添加回答
举报
0/150
提交
取消