<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
  <channel>
    <title>MaplePrimes - answers and comments on Question, Printing an array of plots workaround</title>
    <link>http://www.mapleprimes.com/questions/129246-Printing-An-Array-Of-Plots-Workaround</link>
    <language>en-us</language>
    <copyright>2026 Maplesoft, A Division of Waterloo Maple Inc.</copyright>
    <generator>Maplesoft Document System</generator>
    <lastBuildDate>Thu, 11 Jun 2026 22:54:56 GMT</lastBuildDate>
    <pubDate>Thu, 11 Jun 2026 22:54:56 GMT</pubDate>
    <itunes:subtitle />
    <itunes:summary />
    <description>The latest answers and comments added to the Question, Printing an array of plots workaround</description>
    <image>
      <url>http://www.mapleprimes.com/images/mapleprimeswhite.jpg</url>
      <title>MaplePrimes - answers and comments on Question, Printing an array of plots workaround</title>
      <link>http://www.mapleprimes.com/questions/129246-Printing-An-Array-Of-Plots-Workaround</link>
    </image>
    <item>
      <title>exporting image by image and recreating</title>
      <link>http://www.mapleprimes.com/questions/129246-Printing-An-Array-Of-Plots-Workaround?ref=Feed:MaplePrimes:Printing an array of plots workaround:Comments#answer129306</link>
      <itunes:summary>&lt;p&gt;my current plan is to export images individually and recreate the display outside of Maple, within LateX to be precise. For this purpose I have written a procedure which takes a 3D plot and prints several displays based on different orientations. The procedure takes a 3D plot as input and prints a set of postscript files named on the basis of the plot name, e.g. plotname1.ps, plotname2.ps, etc.. The number of frames and the total angle of rotation (e.g. 360 degrees) may be specified. The option inline allows one to visualize inline an Array of the plots (before printing to file, works only for about 5 frames).&lt;/p&gt;
&lt;p&gt;Any suggestions, remarks for improvement, very welcome, as usual.&lt;/p&gt;
&lt;p&gt;MakeFrames := proc(p :: evaln&lt;br&gt;&amp;nbsp; , { frames :: posint := 5 }&lt;br&gt;&amp;nbsp; , { rotation :: posint := 360 }&lt;br&gt;&amp;nbsp; , { inline :: boolean := false }&lt;br&gt;&amp;nbsp; )&lt;br&gt;&amp;nbsp; description "Takes a 3D plot structure and creates several frames at different angles of orientation. Options include: the number of frames; the complete angle of rotation (up to 360 degrees), inline displays the plots in an array, suitable for a small number of plots.";&lt;br&gt;&amp;nbsp; local i,j,n,r,A;&lt;br&gt;&amp;nbsp; n:=frames;&lt;br&gt;&amp;nbsp; r:=rotation;&lt;br&gt;&amp;nbsp; A:=Array([ seq( plots:-display(eval(p), 'orientation' = [r*j/n,80]), j = 1 .. n ) ]);&lt;br&gt;&amp;nbsp; if inline then &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; plotsetup(default); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return(plots:-display(A));&lt;br&gt;&amp;nbsp; else &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i from 1 to n do # couldn't find a way to name with seq&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; plotsetup('ps', 'plotoutput'=cat(convert(p,string),convert(i,string),".ps"),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'plotoptions'=`color,portrait,noborder,transparent`);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print( plots:-display( A[i], 'axesfont' = [ TIMES, 10 ], 'labelfont' = [ TIMES, ROMAN, 10] ) );&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do;&lt;br&gt;&amp;nbsp; end if;&lt;br&gt;&amp;nbsp; plotsetup(default):&lt;br&gt;end proc:&lt;/p&gt;
&lt;p&gt;Example of usage, based on the example plots given above:&lt;br&gt;&lt;br&gt;MakeFrames(odeplot, 'inline' = true, 'rotation' = 180, 'frames' = 6);&lt;/p&gt;
&lt;p&gt;My plan is to export these with the cmaple plot driver and to clean the postscript files directly (with tools developed &lt;a href="http://www.mapleprimes.com/posts/128422-Publisher-Rejects-Maple-Graphs"&gt;here:&amp;nbsp;http://www.mapleprimes.com/posts/128422-Publisher-Rejects-Maple-Graphs&lt;/a&gt; ).&lt;/p&gt;
&lt;p&gt;An alternative route was to convert the animated gifs produced by Maple into an avi (because gifs cannot be inserted into LaTeX documents while avis can), but I haven't found a way to do it (the top 3 search-engine-ranked links to convert gifs to avi didn't work with the Maple gifs), so instead I plan to use the LaTeX "animate" package, which uses pdf images to create an animation. And I plan to create the pdfs with the above procedure and the cleaning up process the url links to.&lt;/p&gt;
&lt;p&gt;An interesting way to start 2012. Happy New Year to you!&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;my current plan is to export images individually and recreate the display outside of Maple, within LateX to be precise. For this purpose I have written a procedure which takes a 3D plot and prints several displays based on different orientations. The procedure takes a 3D plot as input and prints a set of postscript files named on the basis of the plot name, e.g. plotname1.ps, plotname2.ps, etc.. The number of frames and the total angle of rotation (e.g. 360 degrees) may be specified. The option inline allows one to visualize inline an Array of the plots (before printing to file, works only for about 5 frames).&lt;/p&gt;
&lt;p&gt;Any suggestions, remarks for improvement, very welcome, as usual.&lt;/p&gt;
&lt;p&gt;MakeFrames := proc(p :: evaln&lt;br&gt;&amp;nbsp; , { frames :: posint := 5 }&lt;br&gt;&amp;nbsp; , { rotation :: posint := 360 }&lt;br&gt;&amp;nbsp; , { inline :: boolean := false }&lt;br&gt;&amp;nbsp; )&lt;br&gt;&amp;nbsp; description "Takes a 3D plot structure and creates several frames at different angles of orientation. Options include: the number of frames; the complete angle of rotation (up to 360 degrees), inline displays the plots in an array, suitable for a small number of plots.";&lt;br&gt;&amp;nbsp; local i,j,n,r,A;&lt;br&gt;&amp;nbsp; n:=frames;&lt;br&gt;&amp;nbsp; r:=rotation;&lt;br&gt;&amp;nbsp; A:=Array([ seq( plots:-display(eval(p), 'orientation' = [r*j/n,80]), j = 1 .. n ) ]);&lt;br&gt;&amp;nbsp; if inline then &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; plotsetup(default); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return(plots:-display(A));&lt;br&gt;&amp;nbsp; else &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i from 1 to n do # couldn't find a way to name with seq&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; plotsetup('ps', 'plotoutput'=cat(convert(p,string),convert(i,string),".ps"),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'plotoptions'=`color,portrait,noborder,transparent`);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print( plots:-display( A[i], 'axesfont' = [ TIMES, 10 ], 'labelfont' = [ TIMES, ROMAN, 10] ) );&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end do;&lt;br&gt;&amp;nbsp; end if;&lt;br&gt;&amp;nbsp; plotsetup(default):&lt;br&gt;end proc:&lt;/p&gt;
&lt;p&gt;Example of usage, based on the example plots given above:&lt;br&gt;&lt;br&gt;MakeFrames(odeplot, 'inline' = true, 'rotation' = 180, 'frames' = 6);&lt;/p&gt;
&lt;p&gt;My plan is to export these with the cmaple plot driver and to clean the postscript files directly (with tools developed &lt;a href="http://www.mapleprimes.com/posts/128422-Publisher-Rejects-Maple-Graphs"&gt;here:&amp;nbsp;http://www.mapleprimes.com/posts/128422-Publisher-Rejects-Maple-Graphs&lt;/a&gt; ).&lt;/p&gt;
&lt;p&gt;An alternative route was to convert the animated gifs produced by Maple into an avi (because gifs cannot be inserted into LaTeX documents while avis can), but I haven't found a way to do it (the top 3 search-engine-ranked links to convert gifs to avi didn't work with the Maple gifs), so instead I plan to use the LaTeX "animate" package, which uses pdf images to create an animation. And I plan to create the pdfs with the above procedure and the cleaning up process the url links to.&lt;/p&gt;
&lt;p&gt;An interesting way to start 2012. Happy New Year to you!&lt;/p&gt;</description>
      <guid>129306</guid>
      <pubDate>Wed, 04 Jan 2012 02:42:39 Z</pubDate>
      <itunes:author>PatrickT</itunes:author>
      <author>PatrickT</author>
    </item>
    <item>
      <title>memory</title>
      <link>http://www.mapleprimes.com/questions/129246-Printing-An-Array-Of-Plots-Workaround?ref=Feed:MaplePrimes:Printing an array of plots workaround:Comments#comment129308</link>
      <itunes:summary>&lt;p&gt;If memory is a concern then in the non-inline case your code doesn't need to create all the A[i] up front, does it? Couldn't it form and export them one at a time, to limit the total allocation necessary at any given time?&lt;/p&gt;
&lt;p&gt;Also, if you're just rotating, why not try this for efficiency,&lt;/p&gt;
&lt;p&gt;&amp;nbsp; - copy orig plot's data to temp Array&lt;/p&gt;
&lt;p&gt;&amp;nbsp; - rotate temp Array data, inplace&lt;/p&gt;
&lt;p&gt;&amp;nbsp; - wash, rinse, repeat&lt;/p&gt;
&lt;p&gt;see &lt;a href="http://www.mapleprimes.com/posts/126519-3D-Plot-Rotation-Efficiency"&gt;here&lt;/a&gt; for code to rotate temp Array inplace (maybe, forget if you have MESH or GRID).&lt;/p&gt;
&lt;!--break--&gt;
&lt;p&gt;acer&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;If memory is a concern then in the non-inline case your code doesn't need to create all the A[i] up front, does it? Couldn't it form and export them one at a time, to limit the total allocation necessary at any given time?&lt;/p&gt;
&lt;p&gt;Also, if you're just rotating, why not try this for efficiency,&lt;/p&gt;
&lt;p&gt;&amp;nbsp; - copy orig plot's data to temp Array&lt;/p&gt;
&lt;p&gt;&amp;nbsp; - rotate temp Array data, inplace&lt;/p&gt;
&lt;p&gt;&amp;nbsp; - wash, rinse, repeat&lt;/p&gt;
&lt;p&gt;see &lt;a href="http://www.mapleprimes.com/posts/126519-3D-Plot-Rotation-Efficiency"&gt;here&lt;/a&gt; for code to rotate temp Array inplace (maybe, forget if you have MESH or GRID).&lt;/p&gt;
&lt;!--break--&gt;
&lt;p&gt;acer&lt;/p&gt;</description>
      <guid>129308</guid>
      <pubDate>Wed, 04 Jan 2012 03:04:52 Z</pubDate>
      <itunes:author>acer</itunes:author>
      <author>acer</author>
    </item>
    <item>
      <title>inplace Array rotation</title>
      <link>http://www.mapleprimes.com/questions/129246-Printing-An-Array-Of-Plots-Workaround?ref=Feed:MaplePrimes:Printing an array of plots workaround:Comments#comment129438</link>
      <itunes:summary>&lt;p&gt;&lt;a href="http://www.mapleprimes.com/questions/129246-Printing-An-Array-Of-Plots-Workaround#comment129308"&gt;@acer&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;thanks a lot, acer, sounds very promising, I'll try this as soon as I get a chance (there's an insanely busy week ahead),&lt;/p&gt;
&lt;p&gt;Patrick.&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;&lt;a href="http://www.mapleprimes.com/questions/129246-Printing-An-Array-Of-Plots-Workaround#comment129308"&gt;@acer&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;thanks a lot, acer, sounds very promising, I'll try this as soon as I get a chance (there's an insanely busy week ahead),&lt;/p&gt;
&lt;p&gt;Patrick.&lt;/p&gt;</description>
      <guid>129438</guid>
      <pubDate>Sat, 07 Jan 2012 22:14:52 Z</pubDate>
      <itunes:author>PatrickT</itunes:author>
      <author>PatrickT</author>
    </item>
  </channel>
</rss>