On Mon, Jun 25, 2012 at 1:12 PM, mogliii <mogl...@gmx.net> wrote:

> Hi,
>
> In my script a variable number of graphs is generated. I want to place
> them in one column with arbitrary number of rows onto an A4 canvas (for
> pdf export).
>
> Unfortunately the figsize directive seems to have no effect. The figure
> is always 8x6 inch.
>
> Which code do I have to use in this case?
>
>
> My minimal 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.58               # 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')
> fig = plt.figure(figsize = fig_size)
> allplots = 3  # This is the variable number of subplots
> f, axarr = plt.subplots(allplots, 1)
>
>
> for plot in range(allplots):
>    axarr[plot].plot(x+plot, y)
>
> pdf.savefig()
> pdf.close()
>
>
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
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to