如何更改网络中节点的颜色?
How to change color of nodes in a network?
我想更改列中节点的颜色 A
:
A B Score Value
0 user1 test1 6.6 A
1 user1 user241 3.2 AA
2 user241 test1 4.8 B
3 user12 test4 3.1 C
4 user1 user23 2.9 A
我使用 mnet 创建网络:
from pymnet import *
import matplotlib.pyplot as plt
mnet = MultilayerNetwork(aspects=1)
for index in df.index:
mnet[df.loc[index, 'A'], df.loc[index, 'B'],'friendship','friendship'] = 1
fig=draw(mnet, show=True, figsize=(25,30))
我想我应该在draw()
内改变颜色,但我没有命令。无论使用哪种颜色,重要的是 A
中的所有用户都可以使用相同的颜色(与 B
中的不同)。 A
中的一些用户可能也在 B
。
我会这样做:
for node in mnet:
if node in df["A"].values:
colors.append("red")
else: colors.append("green")
但是我不知道如何在fig
中添加这样的信息。
根据pymnet.draw(),nodeColorDict
是以节点层为键的字典。
colors = {}
for node in mnet.iter_node_layers():
if node[0] in df["A"].values:
colors.update({node: "red"})
else:
colors.update({node: "green"})
fig = draw(mnet, show=True, figsize=(25,30), nodeColorDict=colors)
我想更改列中节点的颜色 A
:
A B Score Value
0 user1 test1 6.6 A
1 user1 user241 3.2 AA
2 user241 test1 4.8 B
3 user12 test4 3.1 C
4 user1 user23 2.9 A
我使用 mnet 创建网络:
from pymnet import *
import matplotlib.pyplot as plt
mnet = MultilayerNetwork(aspects=1)
for index in df.index:
mnet[df.loc[index, 'A'], df.loc[index, 'B'],'friendship','friendship'] = 1
fig=draw(mnet, show=True, figsize=(25,30))
我想我应该在draw()
内改变颜色,但我没有命令。无论使用哪种颜色,重要的是 A
中的所有用户都可以使用相同的颜色(与 B
中的不同)。 A
中的一些用户可能也在 B
。
我会这样做:
for node in mnet:
if node in df["A"].values:
colors.append("red")
else: colors.append("green")
但是我不知道如何在fig
中添加这样的信息。
根据pymnet.draw(),nodeColorDict
是以节点层为键的字典。
colors = {}
for node in mnet.iter_node_layers():
if node[0] in df["A"].values:
colors.update({node: "red"})
else:
colors.update({node: "green"})
fig = draw(mnet, show=True, figsize=(25,30), nodeColorDict=colors)