# Matplotlib different size subplots

I need two subplots on a figure One subplot should be about three times as wide as the second of the same height I accomplished this using `GridSpec`

and the `colspan`

argument but I would like to do this using `figure`

so I can save to PDF. I can adjust the first figure using the `figsize`

argument in the constructor, but how do I change the size of the second plot?

Best Answer

Another way is to use the `subplots`

function and pass the width ratio with `gridspec_kw`

.

```
import numpy as np
import matplotlib.pyplot as plt
# generate some data
x = np.arange(0, 10, 0.2)
y = np.sin(x)
# plot it
f, (a0, a1) = plt.subplots(1, 2, gridspec_kw={'width_ratios': [3, 1]})
a0.plot(x, y)
a1.plot(y, x)
f.tight_layout()
f.savefig('grid_figure.pdf')
```