使用python matplotlib和MacOSX后端设置图形的绝对位置

时间:2014-03-10 21:24:54

标签: python matplotlib

是否可以使用matplotlib和MacOSX后端在屏幕上设置图形的绝对位置?

这个答案

How do you set the absolute position of figure windows with matplotlib?

说它可以用于其他后端,但没有提到如何使用MacOSX后端。

1 个答案:

答案 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)