如何将图例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()正确答案
进行一些更改并指出错误后,这是另一个代码,这次它可以工作并显示图例:
import tkinter as tk import matplotlib.pyplot as plt from matplotlib.figure import Figure from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg root = tk.Tk() root.geometry('600x450') fig2, avail = plt.subplots(figsize=(10,7), dpi=60, facecolor='#e9eef0',) avail.tick_params(axis='y', labelsize=0) avail.set_ylabel('FOLLOWING THE PRODUCTION', fontsize=20) avail.set_xlabel('TIME (minute)', fontsize=20) 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) # Legend added after creating bars avail.legend(['ON', 'PLANNED', 'STOP']) #criando figura para plotar dentro do TKinter canvas_avail = FigureCanvasTkAgg(fig2, master=root) canvas_avail.get_tk_widget().place(x=10, y=0) root.mainloop()
证明:
声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至201542412@QQ.com举报,一经查实,本站将立刻删除。
相关推荐
-
如何根据输入多次运行一行代码?
问题内容使用 python,我试图找到一种更快的方法来根据输入多次运行 randint,而不必写出每个输入的可能性。这是用于桌面游戏的骰子滚轮。代码如下import randomfrom random
-
使用PyCharm简化项目打包:简单操作使你的代码成为独立应用
利用PyCharm轻松打包项目:简单操作让你的代码成为独立应用在Python的开发过程中,我们经常会使用一些外部库和模块来帮助我们实现功能。但是当我们将代码分享给其他人使用时,他们可能没有安装我们使用
-
如何使用PyCharm将代码打包成可执行文件:项目打包技巧详解
PyCharm项目打包技巧:教你如何将代码打包为可执行文件在软件开发过程中,将代码打包为可执行文件是一个非常重要的步骤。它可以让我们的应用程序更加便捷地在不同的机器上运行,同时也可以保护我们的代码不被
-
提高效率!利用PyCharm批量注释技巧快速优化代码
解放双手!PyCharm批量注释技巧助你快速优化代码导语:在日常的编程工作中,我们经常需要处理大量的代码注释。手动逐行注释代码不仅费时费力,还容易出错。为了提高编程效率,让我们来了解一下PyCharm
-
深入解析PyCharm中文设置:提升代码编辑体验
PyCharm是一款功能强大的Python集成开发环境(IDE),被广泛地应用于Python开发中。它不仅提供了丰富的代码编辑功能,还具备智能提示、调试、版本管理等的强大工具。而在PyCharm中,中