首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >窗口上的Python,打开相邻的绘图窗口。

窗口上的Python,打开相邻的绘图窗口。
EN

Stack Overflow用户
提问于 2015-07-15 09:13:15
回答 2查看 2.8K关注 0票数 1

我在windows7上使用了EPD-python2.7。在我的python程序中,我在单独的绘图窗口中创建了4-5个数字。默认情况下,地形图窗口互相堆叠在一起。每次我不得不拖动和替换这些窗口,并分发到屏幕区域。

(Q1)是否有任何方法可以自动设置为相邻创建地块窗口?如下图所示(这是我的第二个外部屏幕的截图)。

(Q2)我有第二个(额外的)屏幕,理想情况下,我希望在每次运行程序时,在第二个屏幕旁边创建绘图窗口。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-15 13:12:26

您可以选择您的情节的位置,但它依赖于后端。为了检查这个,

代码语言:javascript
复制
import matplotlib
matplotlib.get_backend()

然后查看this的答案,了解各种调整方法。例如,对于我来说,在linux上使用Qt4Agg

代码语言:javascript
复制
import matplotlib.pyplot as plt

#Choose the correct dimensions for your first screen
FMwidth = 1280
FMheight = 1024

#Choose the correct dimensions for your second screen
SMwidth = 1280
SMheight = 1024

fm = plt.get_current_fig_manager()
#Works with QT on linux 
fm.window.setGeometry(FMwidth,0,SMwidth,SMheight)

这可能对windows更好。

代码语言:javascript
复制
fm.window.wm_geometry("+500+0")

您还可以获得屏幕大小from

代码语言:javascript
复制
from win32api import GetSystemMetrics

width = GetSystemMetrics(0)
weight = GetSystemMetrics(1)

您可以轻松地创建一个计数器,每当您创建一个图并调整这个指定的位置时,它就会递增,所以每次下一个图都在前面。但是,如果使用子图(例如设置2×3网格),则大小和布局要容易得多,

代码语言:javascript
复制
#Setup 2 by 3 grid of subplots
fig, axs = plt.subplots(2,3,figsize=(width,height))

axs[0,0].plot(x, np.sinc(x))
axs[1,0].hist(y)
etc

然后,您可以使用计数器指定当前正在使用的绘图,并在绘图时增加此值。

票数 3
EN

Stack Overflow用户

发布于 2016-08-27 18:07:34

我也有同样的问题。当我查看答案时,我不太清楚的是,当你有第二个显示器时,你可以通过使用相对于你的第一个显示器的坐标来达到它。例如,我在我的1080 p主显示器上有一个4k显示器,我用y位置的负值将数字放到上面。

代码语言:javascript
复制
mgr = plt.get_current_fig_manager()
mgr.window.move(-400,-2000)
plt.show()

很明显,它知道我在Windows上的显示器配置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31426166

复制
相关文章

相似问题

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