Re: Printing
- To: mathgroup at christensen.cybernetics.net
- Subject: [mg1781] Re: [mg1754] Printing
- From: Richard Mercer <richard at seuss.math.wright.edu>
- Date: Sun, 30 Jul 1995 21:35:15 -0400
> OK, so I've got a notebook that generates big lists of
> plots from input data files. There are a variable number
> of plots (polar list plots) genrerated from each file.
> What I want to do is print them out in such a way that
> I get consistently sized plots on the page. But, I don't
> want to have just a single plot per page. What I'm doing
> now is using GraphicsArray and then spitting out to a
> .ps file with the Display[] commmand. Works fine - except
> that the plots are sized so that they all fit onto a
> single page. This is fine when there are only a few
> plots, but when a file generates a large number of plots
> each plot is unreadably small. Ideally, I would like to
> have a consistent number - say five - of plots per page
> and have each plot be the same size. I'd like to
> automatically generate a page break when then number of
> plots exceeded the desired number/page so that a table
> of 15 plots would print out over 3 pages.
>
> Any ideas? Seems like there's got to be a straight
> forward way of doing this in Mathematica w/o having to
> go in and do all of the calculations as to table size
> and file manipulation explicitly.
>
Mike,
What you need to do is decide how many graphs you want to have in each graphics
array (i.e. page, if I understand you), then generate multiple GraphicsArray
objects when you exceed this number.
Here's a brief hack that will show you what I mean. You will undoubtedly have
to clean it up a bit.
Assume that you want mxn graphics arrays and your graphs are stored in a list
assigned to the variable "rest".
While[rest =!= {},
num = Min[m*n,Length[rest]];
{current,rest} = {Take[rest,num],Drop[rest,num]};
Show[GraphicsArray[Partition[current,n]],DisplayFunction:>whatever]
];
Richard Mercer