Как я могу сопоставить мою пользовательскую легенду Matplotlib с моим графиком Networkx? - PullRequest
0 голосов
/ 18 февраля 2019

Я создал рабочую пользовательскую легенду для своего графа 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?

Спасибо.

1 Ответ

0 голосов
/ 18 февраля 2019

Не уточнил в теле вопроса, но я звонил _add_legend() после _plot().Я переместил fig.savefig() в конец функции легенды, и она сработала.

Человеческая ошибка.Всем счастливого понедельника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...