我是靠谱客的博主 坚强耳机,最近开发中收集的这篇文章主要介绍python figure size_Matplotlib Figuresize被rcParams忽略,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我以前用过以下方法来确保我的图形大小在绘图中是一致的:import matplotlib as mpl

rc_fonts = {'figure.figsize': (15, 9.3)}

mpl.rcParams.update(rc_fonts)

import matplotlib.pylab as plt

但是,我现在发现对于我通常的默认值(15, 9.3)这一点被忽略了。如下所示:

^{pr2}$

初始绘图大小为[10.35, 9.3],之后根据需要是[15, 9.3]。但是,如果我将默认值设为非常大或更小,例如(32,19.3),则图形窗口的大小是正确的。我希望保持我所希望的改变rcParams以设置默认值的方法,而不是尝试通过制作临时虚拟图来设置它两次。这是一个错误,还是我走错了方向?在

详细信息:Python2.7.12(必须在虚拟环境中使用)。在

后端TkAgg(我希望保持原样)。在

Matplotlib 2.1.0版。(这个bug/特性在版本2.1.2中也会继续存在)。在

PS-我更喜欢避免使用matplotlib fig和ax对象,而是直接使用plt接口。如果可能的话,我想用这种方式来解决问题。在

可能的已知问题:

我在github上发现了以下问题2716,我认为这是导致这个问题的原因,但是没有出现任何适合rcParam settings路由的修复程序。因此,任何帮助或建议仍然欢迎。在

电流输出:

下面的注释是一些示例输出(使用python3完成的,以便安装matplotlib的最新版本):Python 3.5.2 (default, Nov 23 2017, 16:37:01)

[GCC 5.4.0 20160609] on linux

>>>

... import matplotlib as mpl

... print(mpl.__version__)

... rc_fonts = {'figure.figsize': (15, 9.3)}

... mpl.rcParams.update(rc_fonts)

... import matplotlib.pylab as plt

... plt.plot(*[range(10)]*2)

...

Backend Qt4Agg is interactive backend. Turning interactive mode on.

2.2.0rc1+124.gf1f83f6

>>>

... print(plt.gcf().get_size_inches())

... print(mpl.rcParams['figure.figsize'])

... plt.gcf().set_size_inches(15, 9.3, forward=True)

... print(plt.gcf().get_size_inches())

...

[ 10.35 9.3 ]

[15.0, 9.3]

[ 15. 9.3]

演示

问题的根源

正如在接受的答案中所解释的,问题是我使用了多个显示器,而Matplotlib无法生成比主显示器大的窗口。不幸的是,改变Ubuntu认为的主要显示内容目前是一个未解决的错误。因此,问题不在于Matplotlib,而在于Ubuntu。我在设置中将显示器设置为左上角的显示器,从而解决了这个问题。在

最后

以上就是坚强耳机为你收集整理的python figure size_Matplotlib Figuresize被rcParams忽略的全部内容,希望文章能够帮你解决python figure size_Matplotlib Figuresize被rcParams忽略所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部