是否可以根据标签所属边缘的颜色对标签文本着色?我尝试使用font_color
执行此操作,但出现以下错误:ValueError: dict_values(['r', 'g', 'b', 'm', .... 'y']) is not a valid value for color
.
我的绘图现在看起来像这样:
colors = nx.get_edge_attributes(graph, 'color').values()
nx.draw_networkx(graph, pos, with_labels=True, connectionstyle='arc3, rad = 0.1', edge_color=colors)
edge_labels_bidirectional = dict([((u, v,), d['initial_balance'])
for u, v, d in graph.edges(data=True)])
nx.draw_networkx_edge_labels(graph, pos, edge_labels=edge_labels_bidirectional,
label_pos=0.3, font_size=7)
plt.show()
1条答案
按热度按时间0md85ypi1#
由于
nx.draw_networkx_edge_labels
只接受一个字符串作为font_color
参数(而不是列表或字典,doc here),因此必须为每条边调用nx.draw_networkx_edge_labels
,并使用相应的颜色分别绘制每个标签。请参见以下代码(网络从此处改编):