>백엔드 개발 >파이썬 튜토리얼 >범례를 Matplotlib TKinter로 변환하는 방법

범례를 Matplotlib TKinter로 변환하는 방법

WBOY
WBOY앞으로
2024-02-22 14:10:03583검색

如何将图例Matplotlib TKinter

질문 내용

그래프에 범례를 만들려고 하는데 legend()를 사용하면 작동하지 않습니다. 나는 그 밖의 무엇을 모른다. 나는 그것에 관한 많은 정보를 보았고 똑같은 일을 하고 있지만 효과가 없었습니다. 도와주세요?

내 코드 아래:

import tkinter as tk
import matplotlib.pyplot as plt
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib import animation
import random

# Create the Tkinter window
root = tk.Tk()
root.geometry('400x100')


fig2, avail = plt.subplots(figsize=(10,7), dpi=60, facecolor= '#e9eef0',)
avail.tick_params(axis='y', labelsize=0)#Formatar a fonte yLabel
avail.set_ylabel('FOLLOWING THE PRODUCTION', fontsize=20)
avail.set_xlabel('TIME (minute)', fontsize=20)
avail.legend(['ON','PLANNED','STOP'])
   
    
stop = [30]
on = [40]
planned = [70]  
x = 1
w = 0.2


avail.barh(x + w, on ,w, color='#22e3e3', edgecolor = 'black', linewidth = 2)
avail.barh(x, planned , w ,color='#05337d', edgecolor = 'black', linewidth = 2)
avail.barh(x - w, stop, w, color = '#c95924', edgecolor = 'black', linewidth = 2)


#criando figura para plotar dentro do TKinter
canvas_avail = FigureCanvasTkAgg(fig2, master=root)
canvas_avail.get_tk_widget().place(x= 280, y= 150)

root.mainloop()

정답


일부 사항을 변경하고 오류를 지적한 후 여기에 또 다른 코드가 있으며 이번에는 작동하고 범례를 보여줍니다.

으아악

증명:

위 내용은 범례를 Matplotlib TKinter로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제