Re: Is it possible to query current plot range values (or have
- To: mathgroup at smc.vnet.net
- Subject: [mg110764] Re: Is it possible to query current plot range values (or have
- From: "David Park" <djmpark at comcast.net>
- Date: Mon, 5 Jul 2010 06:02:48 -0400 (EDT)
The Presentations package has a command, DrawingWidths2D, that gives knowledge of the bounding box of a set of graphics primitives, which can be used while drawing other primitives. It returns the x and y ranges, the x and y centers, and the min and max values of the bounding box. For example, here we use it to find the bounding box of an ellipse produced by a ContourPlot. Needs["Presentations`Master`"] quadratic[x_, y_] := x^2 + 2 x y + 1.5 y^2 + 3 x - y + 2 {{xrange, yrrange}, {xccenter, ycenter}, {{xmin, xmax}, {ymin, ymax}}} = DrawingWidths2D[{ContourDraw[ quadratic[x, y] == 0, {x, -15, 15}, {y, -15, 15}]}] {{9.94158, 8.11799}, {-5.50227, 4.00035}, {{-10.4731, -0.531481}, {-0.0586483, 8.05934}}} Here we use it to draw the ellipse and then add a vertical line that matches the vertical range. Module[{g, xrange, yrange, xcenter, ycenter, xmin, xmax, ymin, ymax}, g = ContourDraw[quadratic, {x, -15, 15}, {y, -15, 15}, PlotRange -> All]; {{xrange, yrrange}, {xcenter, ycenter}, {{xmin, xmax}, {ymin, ymax}}} = DrawingWidths2D[{g}]; Draw2D[ {g, Line[{{xcenter, ymin}, {xcenter, ymax}}]}, PlotRange -> All, ImageSize -> 300] ] David Park djmpark at comcast.net http://home.comcast.net/~djmpark/ From: Leo Alekseyev [mailto:dnquark at gmail.com] Some of my plots contain vertical lines for alignment. To make sure the lines extend from the top to the bottom of the plot frame, I typically give those lines large values for +y and -y coordinates. This has an unfortunate side effect that the directive PlotRange->All now considers my line to be a part of the plot, and rescales the plot range to display it in its entirety. Is there a way to (a) either make PlotRange->All ignore this line somehow or (b) set the +y and -y coordinates of the line to match the current plot range?.. Thanks in advance to anyone who might clarify this... --Leo