我已经为Networkx图创建了一个有效的自定义图例,但是无法将其映射到Networkx图上。
创建图例:
def _add_legend(self):
handles = []
for process, colour in self.colour_map.items():
handles.append(patches.Patch(color=colour, label=process))
self.legend = plt.legend(handles=handles)
当我添加plt.show()
时,我意识到这是在创建一个单独的图。
绘制图形:
def _plot(self):
k = 5/math.sqrt(self.graph.order())
fig = plt.figure(0)
pos = nx.spring_layout(self.graph)
nx.draw(self.graph, arrows=True, with_labels=True, font_size=10, node_color=self.colours, k=k)
nx.draw_networkx_edges(self.graph, pos=pos, edgelist=self.edges)
fig.savefig("output.png")
如何将使用matplotlib创建的图例映射到Networkx图?
谢谢。
答案 0 :(得分:1)
在问题正文中没有明确说明,但是我在{em> _add_legend()
之后是_plot()
。我将fig.savefig()
移动到了图例功能的末尾,它可以正常工作。
人为错误。大家星期一快乐。