Как предотвратить вырезание легенды круговой диаграммы matplotlib.figure из холста FigureCanvasTkAgg? - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь встроить круговую диаграмму matplotlib в графический интерфейс tkinter, и легенда либо соответствует холсту, но накладывается на график, либо обрезается.

Я попытался установить размер холста (canvas.get_tk_widget (). config (width = 900, height = 600)), но легенда будет по-прежнему вырезана, а график будет растянут.Что я могу сделать, чтобы это исправить?

def __init__(self, master):
    self.func_list, self.value_list = Graph.get_data()
    self.figure = Graph.draw_graph(self.value_list, self.func_list)
    self.canvas = Graph.create_canvas(self.figure, master)
    self.canvas.draw()

@staticmethod
def create_canvas(figure, master):
    canvas = FigureCanvasTkAgg(figure, master)
    canvas.get_tk_widget().pack(side=LEFT)
    canvas.get_tk_widget().config(width=900, height=600)
    return canvas

@staticmethod
def draw_graph(values, legend):
    fig = matplotlib.figure.Figure(figsize=(5, 5))
    ax = fig.add_subplot(111)
    ax.pie(values)
    ax.legend(legend, bbox_to_anchor=(1, 1))

    circle = matplotlib.patches.Circle((0, 0), 0.7, color='white')
    ax.add_artist(circle)
    return fig

'' '

Я хочу, чтобы график отображался справа от холста, а легенда - слева

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