Matplotlib pyplot:子图大小

3
如果我按照下面的方式绘制单一图形,它将会是大小为 (x * y)。
import matplotlib.pyplot as plt
plt.plot([1, 2], [1, 2])

然而,如果我在同一行中绘制3个子图,每个子图的大小将为((x / 3) * y)。
fig, ax = plt.subplots(1, 3, sharey = True)
for i in range(3):
    ax[i].plot([1, 2], [1, 2])

我该如何获得这3个子图,每个大小为(x * y)?

1
您可以将图形大小设置为((3*x)*y)。 - moooeeeep
谢谢。我在想是否有一种方法可以指定保留其原始大小,而不是指定大小。 - goldfrapp04
1个回答

6

图形对象有一个默认的大小,它不知道子图的数量。您可以在创建图形时更改图形大小以适应您的需求。

import matplotlib.pyplot as plt

nx = 3
ny = 1

dxs = 8.0
dys = 6.0

fig, ax = plt.subplots(ny, nx, sharey = True, figsize=(dxs*nx, dys*ny) )
for i in range(nx):
    ax[i].plot([1, 2], [1, 2])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接