【问题标题】:how to remove gray border around matplotlib plots in Tkinter canvas如何在 Tkinter 画布中删除 matplotlib 图周围的灰色边框
【发布时间】:2015-04-18 03:15:33
【问题描述】:

如何去除每个画布周围出现的灰色边框?我已经将facecolor 设置为黑色,我认为应该处理它。

import matplotlib
matplotlib.use('TkAgg')

from numpy import arange, sin, cos, pi
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
from matplotlib.backend_bases import key_press_handler
from matplotlib.figure import Figure

import sys
if sys.version_info[0] < 3:
    import Tkinter as Tk
else:
    import tkinter as Tk

root = Tk.Tk()
root.configure(background='black')
x = Figure(figsize=(3,3), dpi=100, facecolor='black')

b = x.add_subplot(111,  axisbg='#1a1a1a')
c = arange(0.0,3.0,0.01)
s = cos(2*pi*c)
b.plot(c,s)

f = Figure(figsize=(5,3), dpi=100, facecolor='black')
a = f.add_subplot(111,  axisbg='#1a1a1a')
t = arange(0.0,3.0,0.01)
s = sin(2*pi*t)
a.plot(t,s)


canvas = FigureCanvasTkAgg(f, master=root)
canvas1 = FigureCanvasTkAgg(f, master=root)
canvas.show()
canvas.get_tk_widget().grid(row=0,column=0)
canvas1.show()
canvas1.get_tk_widget().grid(row=1,column=0)

Tk.mainloop()

【问题讨论】:

  • 你真的需要使用 tkinter 吗?使用 qt 和 gtk 后端,您不会有这个问题。

标签: python python-2.7 matplotlib tkinter tkinter-canvas


【解决方案1】:

您看到的画布周围的灰色边框是 FigureCanvasTkAgg 小部件的背景。因此,除了更改根背景和图形背景之外,您还必须更改画布背景。

要更改 FigureCanvasTkAgg 的背景,您必须获取底层 Tk 画布小部件并对其进行适当配置。所需的方法记录在here

因此,您必须像这样调整代码

...
canvas = FigureCanvasTkAgg(f, master=root)
canvas.get_tk_widget().configure(background='black',  highlightcolor='black', highlightbackground='black')
canvas1 = FigureCanvasTkAgg(f, master=root)
canvas1.get_tk_widget().configure(background='black', highlightcolor='black', highlightbackground='black')
canvas.show()
canvas.get_tk_widget().grid(row=0,column=0)
canvas1.show()
canvas1.get_tk_widget().grid(row=1,column=0)
...

更新:

如果仍然有一个小的灰色边框,这可能是由于其中一个画布的当前焦点。在我的测试中,上面的画布仍然有一个小的灰色边框,这表明另一个画布是焦点(用黑色边框突出显示)。因此,为了摆脱这个额外的边框,必须更改未聚焦画布的突出显示颜色。这可以通过highlightbackgroundhighlightcolor 两个参数来实现。我已经更新了上面发布的代码来解决这个问题。有了这个窗口在我的机器上看起来像

【讨论】:

  • 这会使灰色区域变小,但背景仍然不是纯黑色。还有其他事情要做吗?
猜你喜欢
  • 2020-06-24
  • 1970-01-01
  • 2011-01-22
  • 1970-01-01
  • 2021-08-30
  • 2012-09-27
  • 2023-03-07
  • 2017-01-02
  • 1970-01-01
相关资源
最近更新 更多