|
From: Mogliii <mo...@gm...> - 2012-06-25 18:09:22
|
On 25/06/12 18:30, Benjamin Root wrote:
>
>
>
> Your call to "plt.subplots" is creating a new figure object, which
> never gets the figsize parameter (only the old figure object has that
> set).
>
> Cheers!
> Ben Root
>
Hi,
indeed you are right. I added "f.set_size_inches(fig_size)" and it works
Also I had a wrong conversion of inch to cm (2.58 before).
Thank you for your help,
Mogliii
The final code:
#################
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
import numpy as np
x = np.arange(10)
y = np.arange(10)
fig_width_cm = 21 # A4 page
fig_height_cm = 29.7
inches_per_cm = 1 / 2.54 # Convert cm to inches
fig_width = fig_width_cm * inches_per_cm # width in inches
fig_height = fig_height_cm * inches_per_cm # height in inches
fig_size = [fig_width, fig_height]
pdf = PdfPages('outfile.pdf')
allplots = 3 # This is the variable number of subplots
f, axarr = plt.subplots(allplots, 1)
f.set_size_inches(fig_size)
for plot in range(allplots):
axarr[plot].plot(x + plot, y)
pdf.savefig()
pdf.close()
|