是否可以使用matplotlib和MacOSX后端在屏幕上设置图形的绝对位置?
这个答案
How do you set the absolute position of figure windows with matplotlib?
说它可以用于其他后端,但没有提到如何使用MacOSX后端。
答案 0 :(得分:3)
使用 MacOSX后端,无法设置matplotlib窗口的窗口位置。但是,MacOSX 下的一般来说,您可以使用其他matplotlib后端来实现此目的。应自动安装TkAgg
后端(通过Python标准库中的Tkinter绑定使用Tcl/Tk
)。
在你的python脚本中,在其他任何事情之前,切换到这个后端,然后创建你的情节,显示它,现在你可以移动窗口
get_current_fig_manager().window.wm_geometry("+<x-pos>+<y-pos>")
这是一个工作示例:
import matplotlib
matplotlib.use("TkAgg") # set the backend
import matplotlib.pyplot as plt
plt.figure()
plt.plot([0,1,2,0,1,2]) # draw something
plt.show(block=False)
plt.get_current_fig_manager().window.wm_geometry("+600+400") # move the window
如果使用Qt4绑定安装IMHO nicer PyQt GUI框架,则使用
定位窗口get_current_fig_manager().window.setGeometry(<x-pos>,<x-pos>,<width>,<height>)
再次完整的例子:
import matplotlib
matplotlib.use("Qt4Agg") # set the backend
import matplotlib.pyplot as plt
plt.figure()
plt.plot([0,1,2,0,1,2]) # draw something
plt.show(block=False)
plt.get_current_fig_manager().window.setGeometry(600,400,1000,800)