我在Matplotlib网站上遇到了这个例子。我想知道是否有可能增加图形的尺寸。

#1 楼

如果您已经有了图形对象,请使用:

f.set_figheight(15)
f.set_figwidth(15)


但是如果您使用.subplots()命令(如您所显示的示例)来创建一个新的该图也可以使用:

f, axs = plt.subplots(2,2,figsize=(15,15))


评论


还有fig.set_size_inches一起设置高度和宽度

– Francesco Montesano
13年2月8日在12:26

这是行不通的,您可以将高度设置为所需的任何高度,但是它永远不会比显示器大。

–user3417220
17年7月7日在16:29

这与您的显示器无关。如果输出为png怎么办?您是说它永远不能超过屏幕分辨率吗?它是以英寸为单位的大小与以像素为单位的dpi的组合。

–罗格·卡西斯
17年7月8日在16:07



在对subplots()的调用中包括figsize似乎不起作用。调用f.set_figheight确实可以。

– Vicki B
19-10-18在17:33



@BenButterworth,它属于** fig_kw部分,该部分传递给pyplot.figure。

–罗格·卡西斯
9月1日8:37



#2 楼

或者,使用figure()参数创建一个figsize对象,然后使用add_subplot添加子图。例如,

import matplotlib.pyplot as plt
import numpy as np

f = plt.figure(figsize=(10,3))
ax = f.add_subplot(121)
ax2 = f.add_subplot(122)
x = np.linspace(0,4,1000)
ax.plot(x, np.sin(x))
ax2.plot(x, np.cos(x), 'r:')




此方法的优点是语法更接近subplot()的调用,而不是subplots()的调用。例如。子图似乎不支持使用GridSpec来控制子图的间距,但是subplot()add_subplot()都可以。

评论


有可能分别将“大小”添加到ax和ax2吗?

– M. Gopal
18年5月24日在9:29

如果我理解正确,您是否要设置两个轴的相对尺寸?在这种情况下,我认为您正在寻找以下问题:stackoverflow.com/questions/10388462/…

– aquirdturtle
18年5月26日在1:33