我有以下代码来绘制带有节点的图形,但我没有添加适当的图例:(抱歉,我无法发布图像,看来我没有足够的声誉)
我想要一个有 4 种颜色的图例,例如“浅蓝色 = 过时,红色 = 草稿,黄色 = 实装,深蓝色 = init”。
我看过一些带有“分散”的解决方案,但我认为它太复杂了。有没有办法做到这一点plt.legend(G.nodes)?
这是代码:
import networkx as nx
import matplotlib.pyplot as plt
import numpy as np
G=nx.Graph()
G.add_node("kind1")
G.add_node("kind2")
G.add_node("Obsolete")
G.add_node("Draft")
G.add_node("Release")
G.add_node("Initialisation")
val_map = {'kind1': 2,'kind2': 2,'Obsolete': 2,'Initialisation': 1,'Draft': 4,'Release': 3}
values = [val_map.get(node, 0) for node in G.nodes()]
nodes = nx.draw(G, cmap = plt.get_cmap('jet'), node_color = values)
plt.legend(G.nodes())
plt.show()
Run Code Online (Sandbox Code Playgroud)