goldfrapp04
goldfrapp04

Reputation: 2355

matplotlib pyplot: subplot size

If I plot a single graph as below, it will be of size (x * y).

import matplotlib.pyplot as plt
plt.plot([1, 2], [1, 2])

However, if I plot 3 sub-graphs in the same row, each of them will be of size ((x / 3) * y).

fig, ax = plt.subplots(1, 3, sharey = True)
for i in range(3):
    ax[i].plot([1, 2], [1, 2])

How can I obtain these 3 subplots, each of which is of size (x * y)?

Upvotes: 3

Views: 8141

Answers (1)

Gabriel
Gabriel

Reputation: 10894

The figure object has a default size that does not know about the number of subplots. You can change the figure size when you make the figure to suit your needs though.

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])

Upvotes: 6

Related Questions