I’ve a list of around 2000 ParametricPlot3D plots to be plotted together, using “Show”.
Around 10 is OK (see the plot with 10 small cones on the hemisphere), but with 50 or more,
Mathematica stops the computation prematurely with a “pffft”, un-defining all plots and functions
(whose names go from black to blue) and returning nothing.
This is not the first time I’ve run into this. Can you guess why this might be happening and
suggest a way around the impasse?
The exported combined plot of 10 plots is 260Kb (pdf). There should be memory available. As far as I know, this type of crashing is random, i.e. it would happen every once in a while with 10 plots combined, and it happens almost all the time with 100 plots. One possibility is to make one plot comprise the data from 200 plots: a mountain range instead of individual peaks. I think I’ll need to make extensions connecting them them.
This way, Mathematica never has to combine lost of graphics at once. If this Fold is slow, you could try to partition your listOfFigures and accumulate the figure in batches.
Combine the plots with Show, but suppress the output with a semicolon. If this crashes the kernel, we know for sure that this problem occurs in the kernel and not the front end.
Do a ByteCount of your listOfFigures (or however you have assembled the individual plots). It’s good to know what kind of memory size (in the kernel) we’re talking about here.
Try generating the ParametricPlot3D plots with less fidelity. Whenever I have problems with plots, I usually set the options PlotPoints -> n and MaxRecursion -> 0 (or 1) and play around with n until I get something reasonable. PerformanceGoal -> "Speed" is also something you can try.
Are there any elements in your plots that use Opacity? Having semi-transparent elements in large 3D figures can give you a really large hit in performance.