Я пытаюсь встроить круговую диаграмму 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
'' '
Я хочу, чтобы график отображался справа от холста, а легенда - слева