首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >matplotlib窗口布局问题

matplotlib窗口布局问题
EN

Stack Overflow用户
提问于 2011-10-18 12:18:08
回答 2查看 9.9K关注 0票数 11

我有两个关于mpl窗口定位的问题(使用WXAgg后端)

1-)如何创建一个最大化的窗口,而不是每次都点击窗口来最大化它?

2-)我有两个屏幕。有趣的是,我的mpl窗口往往会在我的小屏幕上打开。如何强制mpl/ipython/WX/X-windows在第二个或更大的显示器上打开mpl窗口?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-19 09:08:21

对于您的第一个问题,您可以在图形管理器上使用Maximize (因为图形管理器是一个FigureManagerWx实例),或者在其他后端的情况下使用等效的方法:

代码语言:javascript
复制
>>> from matplotlib import pyplot as plt
>>> plt.plot([1,2,6,4])
[<matplotlib.lines.Line2D object at 0x0000000008E5D2E8>]
>>> mng = plt.get_current_fig_manager()
>>> plt.show()                                    # you get normal size
>>> mng.frame.Maximize(True)                      # now mpl window maximizes

对于第二个问题,我不确定(我不能测试它),但是如果这个问题可以通过在两个显示器上扩展的屏幕上设置你的图形的位置来解决,那么你可以使用SetPosition (同样对于wxAgg后端):

代码语言:javascript
复制
>>> mng.frame.SetPosition(*args, **kwargs)
票数 5
EN

Stack Overflow用户

发布于 2012-09-27 22:29:39

我使用Tk库进行绘图,您可以在默认情况下在~/.matplotlib/matplotlibrc文件中设置,方法是:

代码语言:javascript
复制
backend      : TkAgg

这使我可以使用以下命令设置窗口位置和尺寸:

代码语言:javascript
复制
import matplotlib.pyplot as plot
wm = plot.get_current_fig_manager()
wm.window.wm_geometry("800x900+50+50")

因为可能有人想在Mac上定位matplotlib窗口,所以我想做一个快速的贡献。我经常使用和不使用外部屏幕(在工作和家里),并且想要一些自动使用外部屏幕的方法(如果它可用)。幸运的是,Mac操作系统必须能够通过AppKit进行接口。

下面的代码片段将返回一个包含位置、宽度和高度的ScreenInfo对象列表:

代码语言:javascript
复制
from AppKit import NSScreen

class ScreenInfo:
    pass

def getScreensInfo():
    screens = []

    for i, s in enumerate(NSScreen.screens()):
        screen = ScreenInfo()
        frame = s.frame()
        screen.x = frame.origin.x
        screen.y = frame.origin.y
        screen.w = frame.size.width
        screen.h = frame.size.height
        screens.append(screen)
    return screens
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7802366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档