On 15-Jun-10 19:35:54, Marc Schwartz wrote: > On Jun 15, 2010, at 12:11 PM, Ted Harding wrote: > >> On 15-Jun-10 16:01:24, William Dunlap wrote: >>>> -----Original Message----- >>>> From: r-help-boun...@r-project.org >>>> [mailto:r-help-boun...@r-project.org] On Behalf Of >>>> ted.hard...@manchester.ac.uk >>>> Sent: Tuesday, June 15, 2010 8:49 AM >>>> To: r-h...@stat.math.ethz.ch >>>> Subject: [R] Unspecified [upper] xlim/ylim? >>>> >>>> Greetings! >>>> I would like to be able to specify a fixed (say) lower limit >>>> for plotting, while leaving the upper limit "floating, when >>>> plotting. The context is that the maximum in the data to be >>>> plotted is unpredictable, being the consequence of a simulation, >>>> whereas I know that it cannot be less than (say) 0; and I want >>>> to fix the lower limit at 0 in any plot, leaving the upper limit >>>> to be assigned by plot() as a result of the computed values. >>>> >>>> I know I can do this by determining the max() of the data, and >>>> then computing a "Ymax" to put in (say) ylim = c(0,Ymax). However, >>>> for certain reasons, I would prefer not to have to do this. >>>> (And it's just a preference ... ). >>>> >>>> Whereas one can leave the whole issue of setting both plotting >>>> limits to plot(), by not specifying ylim (or xlim), or one can >>>> explcitily specify both the upper and lower limits by (say) >>>> ylim=c(Ymin,Ymax), there seems to be no way of fixing one and >>>> leaving the other floating so that plot() would do its own thing. >>>> >>>> ylim requires two numbers to be given. Things like ylim=c(0,) >>>> or ylim=c(0,NA) would generate an error. >>> >>> Currently ylim=c(yValueAtBottomOfPlot, yValueAtTopOfPlot), not >>> c(yMin,yMax). E.g., ylim=c(10,0) means to reverse the y axis, >>> with 0 at the top and 10 at the bottom. Putting an NA into >>> ylim seems attractive but doesn't it run into problems because >>> ylim doesn't mean c(yMin,yMax)? >>> >>> Bill Dunlap >>> Spotfire, TIBCO Software >>> wdunlap tibco.com >>> >>>> >>>> Am I chasing a phantom? Or is there a way? >>>> Thanks >>>> Ted. >> >> Sorry, Bill, but you've misunderstood what I mean by "Ymin" and >> "Ymax". >> As explained, these are notations for values which I either compute, >> or choose, to put in as the arguments in ylim=c(... , ...). YMin and >> Ymax would be such as to ensure that the range of the axis included >> at least the range (Ymin,Ymax) (or, depending on the choice, possibly >> to exclude certain values from the plot). >> >> So, indeed, ylim does mean c(Ymin,Tmax). >> >> Ted. > > Ted, perhaps I am being dense here (always a possibility),
You're not the only one ... > but by > default if, for example, 'ylim' is unspecified, plot() essentially uses > range(YVals) as the min/max values for the Y axis. Also, by default, > with par(yaxs = "r"), the Y axis range is extended by 4% in both > directions. Same for the x axis range. > > Here is the snippet of relevant code from plot.default() for 'ylim': > > ylim <- if (is.null(ylim)) > range(xy$y[is.finite(xy$y)]) > else ylim > > Thus, if you want to explicitly specify the low end of the range for > the Y axis and have the upper end of the range left to the default > methodology, you would indeed use: > > ylim = c(0, max(YVals)) > > as the argument syntax. The same would apply for the x axis limits. > > Is that what you are after? > > HTH, > Marc Schwartz It does! And I could indeed have found it by the command "plot.default" and getting the listing. Thanks, Marc, for lifting the lid! Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <ted.hard...@manchester.ac.uk> Fax-to-email: +44 (0)870 094 0861 Date: 15-Jun-10 Time: 20:55:26 ------------------------------ XFMail ------------------------------ ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.