出于某种原因,这段代码创建的图形只是标准尺寸:它不会改变高度或宽度(我选择宽度和高度是荒谬的,以清楚地说明问题):
import matplotlib.pyplot as plt
fig = plt.figure()
fig.set_figwidth(30)
fig.set_figheight(1)
print('Width: {}'.format(fig.get_figwidth()))
plt.show()
我在OSX 10.10.4,Python 3.4.3,Matplotlib 1.4.3上运行。 (通过Macports安装。)任何想法?我错过了什么?
答案 0 :(得分:5)
可选参数click
将更改传播到已存在的GUI窗口中的画布。
可选的kwarg
forward
将导致画布大小自动更新;例如,您可以从shell重新调整图形窗口
使用forward=True
也可以。
Figure(figsize=(w,h))
是所有三个set_figheight
,set_figwidth
和set_size_inches
(forward=True
同时更改高度和宽度)的默认值。
set_size_inches
,因为它是forward=True
。 (在Matplotlib 2.0.0中,False
的默认值仅更改为True
。
set_size_inches
仅受forward
支持。
set_figheight
和set_figwidth
不支持此参数,因此仅更改预先创建的GUI的单个维度有点困难。
答案 1 :(得分:3)
我不确定为什么那些documented functions不起作用,但they have been fixed用于下一个matplotlib版本(> v1.4.3)。作为下一版本的解决方法,替换set_figwidth
和set_figheight
可以解决此问题。
import matplotlib.pyplot as plt
fig = plt.figure()
# Instead of set_figwidth(30)
fig.set_size_inches(30, fig.get_figheight(), forward=True)
plt.show()