微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 OSmnx 中绘制社区来自与 CDlib 的聚类; “plot.get_node_colors_by_attr”

如何解决在 OSmnx 中绘制社区来自与 CDlib 的聚类; “plot.get_node_colors_by_attr”

因此,在使用 OSMnx 库从开放街道地图中提取我的街道网络后,我继续使用 CDlib 库对节点进行聚类,其结果是列表中的列表中的 node_ID 以表示每个集群。我想通过在原始 OSMnx 街道网络图上绘制不同颜色而不是使用 igraph 来直观地表示这些节点集群。但是,我似乎找不到合适的方法来做到这一点。 我在想 OSMnx“plot.get_node_colors_by_attr”会起作用,但我不知道使用这种方法分配具有不同颜色的节点集群(列表)。

任何有关如何解决此问题的线索将不胜感激。 所以这就是我所做的; 鉴于我有五个节点集群,我必须创建五种颜色 #创造色彩

import matplotlib.colors as pltc
from random import sample
all_colors = [k for k,v in pltc.cnames.items()]
colors = sample(all_colors,5)

#为每个簇索引创建一个字典; dict={}

for i in range (len(comm)):
  dict[i]=colors[i]
print(dict)

哪个返回;

{0: 'rosybrown',1: 'bisque',2: 'goldenrod',3: 'palevioletred',4: 'whitesmoke'}

注意:“comm”是包含节点集群列表的列表

#setting 节点属性以便我可以绘图

nx.set_node_attributes(G,dict,"dict")
nc = ox.plot.get_node_colors_by_attr(G,"dict")

第二行返回一个 ValueError:没有属性值。 我对 python 很陌生,我不确定我是否在做正确的事情。任何线索将不胜感激。谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。