繁体   English   中英

如何将Matplotlib自定义图例映射到Networkx图?

[英]How can I map my Matplotlib custom legend to my Networkx graph?

我已经为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图?

谢谢。

在问题正文中没有明确说明,但是我在_add_legend() 之后调用_plot() 我将fig.savefig()移到了图例函数的末尾,它开始工作了。

人为错误。 大家星期一快乐。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM