我在使用plt.subplots
时尝试更改图形大小时遇到了一些麻烦。使用下面的代码,我得到了标准大小的图,其中所有子图都集中在一起(大约有100个),显然只是一个额外的空图形大小。我试过使用tight_layout
,但没有用。
def plot(reader):
channels=[]
for i in reader:
channels.append(i)
plt.figure(figsize=(50,100))
fig, ax = plt.subplots(len(channels), sharex=True)
plot=0
for j in reader:
ax[plot].plot(reader["%s" % j])
plot=plot+1
plt.tight_layout()
plt.show()
2条答案
按热度按时间fd3cxomn1#
您可以删除初始
plt.figure()
。当调用plt.subplots()
时,会创建一个新的图形,所以您第一次调用不会执行任何操作。后台的subplots命令将为您调用
plt.figure()
,并且任何关键字都将沿着。所以只需在subplots()
命令中添加figsize
关键字:jdg4fx2g2#
图形大小以英寸为单位。如果由于某种原因,在打印后需要更改子图的图形大小(可能是因为它的创建是由外部库,如
statsmodels
等处理的),那么您可以在图形对象上调用set_size_inches()
来设置图形大小。一个工作示例:
另一个例子是,时间序列分解图由
statsmodels
处理。如果在绘图后未设置地物尺寸,则生成的地物太小: