PointSize (and shape) frustration

*To*: mathgroup at smc.vnet.net*Subject*: [mg85881] PointSize (and shape) frustration*From*: Szabolcs Horvát <szhorvat at gmail.com>*Date*: Tue, 26 Feb 2008 07:50:18 -0500 (EST)*Organization*: University of Bergen

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 half a metre). Remember that exporting PDFs at different sizes only works as Export["plot.pdf", Show[plot, ImageSize -> someValue]] because Export is buggy and does not respect the ImageSize options for PDFs!