【发布时间】:2014-04-10 15:10:53
【问题描述】:
我有以下代码来绘制带节点的图形,但我未能添加正确的图例: (对不起,我无法发布图片,似乎我没有足够的声誉)
我想要一个有 4 种颜色的图例,例如“浅蓝色 = 过时,红色 = 草稿,黄色 = 重新发布,深蓝色 = 初始化”。
我见过一些“分散”的解决方案,但我认为它太复杂了。有没有办法用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()
【问题讨论】: