Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 320
goldfrapp04 Avatar asked Jul 21 '26 14:07

goldfrapp04


1 Answers

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])
like image 148
Gabriel Avatar answered Jul 23 '26 02:07

Gabriel



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!