Re: PointSize (and shape) frustration
- To: mathgroup at smc.vnet.net
- Subject: [mg85919] Re: PointSize (and shape) frustration
- From: "David Park" <djmpark at comcast.net>
- Date: Wed, 27 Feb 2008 04:35:31 -0500 (EST)
- References: <fq0uke$kdp$1@smc.vnet.net>
This is a case where you want to show a 'global' view and a 'detailed' view
at the same time. Nice if you can do it, but it depends on the details of
screen resolution, or print resolution or the acuity of viewer's eyes.
I know that this is not totally responsive to your question, but a standard
solution to this kind of problem is to use multiple images, a global view
and perhaps several local views in higher detail.
lm[r_]:=NestList[r # (1-#)&,.5,50000]
bif=Join@@Table[{r,#}&/@Union[Take[lm[r],-100],SameTest->(Abs[#1-#2]<1*^-3&)],{r,2.0,3.98,.001}];
ListPlot[bif, PlotRange -> All, PlotStyle -> AbsolutePointSize[.05]]
With[{xmin = 3.4, xmax = 3.7, ymin = .3, ymax = .4},
bif2 = Cases[
bif, {x_, y_} /; xmin <= x <= xmax \[And] ymin <= y <= ymax];
Length[bif2]]
ListPlot[bif2, PlotRange -> All, PlotStyle -> AbsolutePointSize[2],
ImageSize -> 600]
Again, I know that you are looking for printed output, but this is just the
type of situation where Mathematica notebooks are so much superior with
their dynamic capabilities. The following is a Manipulate definition that
allows both global and detailed views.
Manipulate[
Graphics[{AbsolutePointSize[2], Point[bif]},
AspectRatio -> 1,
PlotRange -> {{xcenter - xwidth/2,
xcenter + xwidth/2}, {ycenter - ywidth/2, ycenter + ywidth/2}},
Frame -> True,
ImageSize -> {400, 400}],
Style["Logistics Map Explorer", 20],
Delimiter,
{xcenter, 3.1, InputField},
{xwidth, 4, InputField},
Delimiter,
{ycenter, .6, InputField},
{ywidth, 1.5, InputField}
]
--
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/
"Szabolcs Horv=E1t" <szhorvat at gmail.com> wrote in message
news:fq0uke$kdp$1 at smc.vnet.net...
> While Mathematica 6 can display beautiful graphics on screen compared to
> previous versions, graphics export became extremely frustrating and buggy.
>
> I complained about several issues before, now here's one more:
>
> I am trying to plot the bifurcation diagram for the logistic map, point
> by point. The point size needs to be tuned precisely to get a nice plot
> (for print). Mathematica refuses to export *circular* points to PDF/EPS
> below a certain size, but in this case I can live with that. However,
> Mathematica refuses to draw points below a certain size, no matter what
> the value of PointSize or AbsolutePointSize is!! If the points overlap,
> the plot is completely ruined.
>
> Then I tried using Disk[]s instead of points. On screen it looks fine,
> but when exported to PDF, Mathematica does something very strange, and
> the result doesn't even have the disks any more! Instead there are some
> little crosses on a *regular* grid, approximating the shape of the plot.
>
> I *know* that 30000 points can inflate the file size, and I know that
> arbitrarily small points are not printable/displayable, but I can solve
> these problems on my own. I don't want Mathematica to try to be smart
> and make its own decisions about this, because it will just cause trouble.
>
> Here's the code to experiment with (I know that it doesn't produce a
> precise result):
>
> lm[r_] := NestList[r # (1 - #) &, .5, 50000]
>
> bif = Join @@ Table[
> {r, #} & /@
> Union[Take[lm[r], -100], SameTest -> (Abs[#1 - #2] < 1*^-3 &)],
> {r, 2.0, 3.98, .001}
> ];
>
> plot = ListPlot[bif, PlotRange -> All, PlotStyle ->
> AbsolutePointSize[.05]]
>
> plot = Graphics[{PointSize[.0001], Point[bif]}]
>
> plot = Graphics[Disk[#, 1/1000] & /@ bif]
>
> Now try exporting each of these plots at reasonable sizes (i.e. not hal=
f
> a metre). Remember that exporting PDFs at different sizes only works a=
s
> Export["plot.pdf", Show[plot, ImageSize -> someValue]] because Export i=
s
> buggy and does not respect the ImageSize options for PDFs!
>