Re: Huge file for a several-line plot
- To: mathgroup at smc.vnet.net
- Subject: [mg118598] Re: Huge file for a several-line plot
- From: Dushan Mitrovich <dushanm at spinn.net>
- Date: Wed, 4 May 2011 06:32:56 -0400 (EDT)
Heike Gramberg wrote: > I think the problem is that you're varying both s and t for each of the curves. Since > the curves either depend on s or on t but not both you're effectively plotting at least > PlotPoints copies of the same set of curves on top of each other. To correct this you could plot > the curves for s is constant and t is constant separately and then combine them with Show: > > Show[{ParametricPlot[ > Table[xy[i/4, t], {i, 1, 10}] /. w -> 1, {t, -Pi, Pi}, > PlotPoints -> 30], > ParametricPlot[ > Table[xy[s, \[Pi]/6*j], {j, 0, 11}] /. w -> 1, {s, 0, 10}, > PlotPoints -> 30]}, PlotRange -> {{0, 4.2}, {-2, 2}}] > > On my machine that produces a file of 184 kB. > > Heike. > Ah! Thank you, your explanation makes a lot of sense. While playing around with different ways of making these plots I noticed that my Bipolar coordinates don't seem to be identical to Mathematica's. That is, pt[v1,v2] does not equal xy[v2,v1] /. w->1 for every [v1,v2]. I'll have to explore exactly what Mathematica uses for the Cartesian <-> Bipolar relationship. - Dushan > On 2 May 2011, at 18:23, Dushan Mitrovich wrote: > > >> Heike Gramberg wrote: >> >>> How are you plotting the graphs? If I use the following: >>> >>> pt[s_, t_] := CoordinatesToCartesian[{s, t, 0}, Bipolar][[{1, 2}]] >>> >>> ParametricPlot[pt[s, t], {s, 0, 2 Pi}, {t, -5, 5}, >>> PlotRange -> {{-10, 10}, {-8, 8}}, Mesh -> 22, >>> PlotStyle -> Opacity[0], MeshStyle -> Darker[Gray], >>> PlotPoints -> 100, ImageSize -> 600] >>> >>> I end up with a file of about 631 kB on Mathematica 8.0.1 for OS X. >>> >>> Heike >>> >>> >> That size is a lot more reasonable, especially for a much larger value of >> 'PlotPoints' than I used. >> >> Here are the instructions I used (the first two could be lumped into one): >> >> {x[s_, t_], y[s_, t_]} := {(w Sinh[s])/(Cosh[s] + Cos[t]), >> (w Sin[t])/(Cosh[s] + Cos[t])} >> >> xy[s_, t_] := {x[s, t], y[s, t]} >> >> ParametricPlot[{Table[xy[i/4, t], {i, 1, 10}] /. w->1, >> Table[xy[s, \[Pi]/6*j], {j, 0, 11}] /. w -> 1}, {s, 0., 10}, >> {t, -\[Pi], \[Pi]}, PlotRange -> {{0, 4.2}, {-2, 2}}, PlotPoints -> 30] >> >> Comparing with your sample instructions above, I didn't recognize anything >> as a crucial difference. Suggestions? >> >> - Dushan >> >> >>> On 2 May 2011, at 11:51, Dushan Mitrovich wrote: >>> >>> >>>> I wanted to plot a number of the orthogonal coordinate lines of a >>>> Bi-polar coordinate system - a total of 22 curves. All the curves >>>> are circles. With PlotPoints unspecified, some of the circles had >>>> polygonal parts, so to eliminate this I added the option PlotPoints->50. >>>> That took a long time to plot (on a 4-CPU Mac Pro), >>>> and generated a notebook size of 10.5 MB. (Using PlotPoints->30 drops >>>> the size to 4.5 MB.) >>>> >>>> With that plot cell deleted the size is 53 KB. The file labels >>>> the graphic as 'CompressedData', but there simply isn't that much >>>> information in the plot. It's as tho Mathematica were storing every >>>> pixel of the plot, with very inefficient compression. >>>> >>>> With that plot the spinning beachball (computer busy) would appear >>>> every few seconds, and it was impossible to alter the graphic size. >>>> >>>> How can I instruct Mathematica to make more sensible choices for >>>> generating and storing the plot? >>>> >>>> - Dushan >>>> [ reverse the middle word of address to reply ] >>>> >>>>