python – 强制matplotlib图的背景是透明的
发布时间:2020-12-16 21:31:56 所属栏目:Python 来源:网络整理
导读:我正在尝试在我正在编写的 Python Gtk3应用程序中包含一个matplotlib图.我想将图形的背景颜色设置为透明,这样图形就会显示出应用程序的自然灰色背景,但到目前为止我所尝试的内容似乎都没有效果. 这是一个MWE: from gi.repository import Gtkimport matplotl
我正在尝试在我正在编写的
Python Gtk3应用程序中包含一个matplotlib图.我想将图形的背景颜色设置为透明,这样图形就会显示出应用程序的自然灰色背景,但到目前为止我所尝试的内容似乎都没有效果.
这是一个MWE: from gi.repository import Gtk import matplotlib.pyplot as plt import matplotlib.lines as mlines import numpy as np from matplotlib.backends.backend_gtk3agg import FigureCanvasGTK3Agg as FigureCanvas class MyWindow(Gtk.Window): def __init__(self): Gtk.Window.__init__(self) fig,ax = plt.subplots() #fig.patch.set_alpha(0.0) x,y = np.array([[0,1],[0,0]]) line = mlines.Line2D(x,y,c='#729fcf') ax.add_line(line) plt.axis('equal') plt.axis('off') fig.tight_layout() sw = Gtk.ScrolledWindow() sw.set_border_width(50) canvas = FigureCanvas(fig) sw.add_with_viewport(canvas) layout = Gtk.Grid() layout.add(sw) self.add(layout) win = MyWindow() win.connect("delete-event",Gtk.main_quit) win.show_all() Gtk.main() 如果取消注释fig.patch.set_alpha(0.0)行,则背景颜色只会变为白色而不是灰色.所有建议非常感谢! 解决方法
在我看来,这是需要隐藏的轴背景.您可以尝试使用ax.patch.set_facecolor(‘None’)或ax.patch.set_visible(False).
或者,您是否尝试过关闭图形和轴补丁?这可以通过以下方式完成: for item in [fig,ax]: item.patch.set_visible(False) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |