为图中的节点列表指定两种不同的颜色

2024-09-30 19:34:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我想显示一个图表,其中包含两个不同的颜色为每一组节点,我有。你知道吗

我曾尝试定义一个函数,将每个节点的颜色分配给列表中的一个节点,但是python似乎无法识别我的一个列表,因此最终以相同的颜色打印我的所有节点。我觉得我错过了一些非常基本的东西,但我就是看不出来。你知道吗

编辑:Nodelist1本质上是一个表示两个节点之间路径的节点序列。Nodelist1中的所有数字都在图形.节点()

Nodelist1=[1,2,7,9,13] 
def nodecolor():
    for n in Graph.nodes():
        if n in list(NodeList1):
            node_color='red'
        else:
            node_color='blue'
    return node_color

nx.draw_networkx(Graph, node_color=nodecolor(), edge_color='red' )

理想情况下,这应该画一个图表,显示两种不同的颜色。但是它只显示蓝色。你知道吗


Tags: 函数innode编辑列表节点定义颜色
1条回答
网友
1楼 · 发布于 2024-09-30 19:34:48

例如,您似乎在为node_color变量分配单个字符串,而不是一个列表。由于nodecolor()函数返回单个字符串,draw_networkx接收单个颜色以绘制图形。你知道吗

如果查看文档here,可以看到可以将字符串序列提供给node_colordraw_networkx参数,尽管序列的长度应该等于节点列表。你知道吗

虽然我对您正在使用的特定库没有经验,但我相信下面给出的对函数nodecolor()的简单修改是可行的。你知道吗

def nodecolor():
    node_colors = []
    for n in Graph.nodes():
        if n in list(NodeList1):
            node_colors.append('red')
        else:
            node_colors.append('blue')
    return node_colors

相关问题 更多 >