以编程方式将数字调整到跨平台和后端的matplotlib中的屏幕大小

时间:2017-10-23 11:40:21

标签: python matplotlib graphics

我可以用

创建非常好的数字
import matplotlib.pyplot as plt
fig = plt.figure()

经常,我需要生成大数字,而且

fig = plt.figure(figsize=(80,60))

这很好,但生成的数字大于屏幕,需要手动调整大小。 如果我阅读我看到的文档,这是理想的行为:

figsize
w,h tuple in inches

所以我手动找到了屏幕尺寸,现在它可以生成漂亮的全屏数字。 但是,如果我更换显示器,我需要重新设置它。 如何在程序上找到正在使用的屏幕尺寸?

我找到了很多答案,但它们都依赖于外部库,或者是特定于平台的,或者是特定于后端的 我可以跨操作系统,后端使用的任何解决方案,而不会在我的项目中添加依赖项?

How to determine screen size in matplotlib

我试过了

window = plt.get_current_fig_manager().window
screen_x, screen_y = window.wm_maxsize()

但我看到以下异常:

  

AttributeError:'MainWindow'对象没有属性'wm_maxsize'

我在Linux上使用Anaconda的Python 2.7,使用自动图形后端的Win 7+。

更新

似乎存在很多方法

https://www.blog.pythonlibrary.org/2015/08/18/getting-your-screen-resolution-with-python/

How do I get monitor resolution in Python?

https://stackoverflow.com/a/42355364/2666859

但是,它们都不是平台或后端独立的。 或许首先检测平台,然后使用后端,如果将所有特定解决方案作为案例,则在长多播中级联? 显然,存在这样的连锁解决方案 https://stackoverflow.com/a/21213145/4124317

这是pythonic吗?是最好的方法吗?

0 个答案:

没有答案