Problem/bug with ends of thick lines in graphics
- To: mathgroup at smc.vnet.net
- Subject: [mg88373] Problem/bug with ends of thick lines in graphics
- From: David Reiss <dbreiss at gmail.com>
- Date: Sat, 3 May 2008 06:16:51 -0400 (EDT)
In a quick search of things I haven't found a mention of the following simple graphics issue and I'm checking in with the group to see if there is a memory of its mention and if there is a simple fix (and which is not a complicated hack) that I've not been able to come up with. Consider the following graph: Plot[x, {x, 1/3, 3/4}, PlotRange -> {{0, 1}, {0, 1}}, PlotStyle -> {AbsoluteThickness[20]}] When you plot it you will see that the line's ends are not rectangular, whereas you would certainly want them to be so. (An alternative would be to have them be rounded, for example, but the question will remain the same whatever your preference is.) Rather they appear as polygonal in a way inconsistent with the line itself. One assums that this is an artifact of how the line is rendered based on the individual line segments, and that that segmental rendering has to do something with how a segment relates to the segments on either side of it. The lack of a segment beyond the end segment presumably runes the algorithm for rendering in a way that leads to this appearance. I have two related questions here. The first is how, if at all possible, to fix this in a general way through some specific options settings for the graphics function. The second is how, when exporting this graphic as, say, a PDF, to make it behave properly. There was a trick in pre version-6 Mathematica that would involve adding an explicit postscript command to the PlotStyle option. Though this would not (I think) correct the screen appearance of the graphic, it would properly fix it when the graphic was exported to PDF or EPS. Here is an example of how it was done: Plot[x, {x, 1/3, 3/4}, PlotRange -> {{0, 1}, {0, 1}}, PlotStyle -> {{ PostScript["0 setlinecap"],AbsoluteThickness[20]}}] This, however, no longer works in Mathematica 6+ presumably because of the new way that graphics rendering is handled. Does anyone have any solutions to either or both of these issues? Thanks! --David