I am attempting to manually specify x axis value labels (NOT x axis label as in xlab) on a density plot. Generally speaking, I would like to erase the default x axis point labels and replace them with arbitrary x axis point labels relating to specific CDF points. I am sure this can be done, but it isn't obvious to me how. Has anyone done this before? My R code follows if it helps (new to R so please excuse any awkwardness that you notice.) plot(density(gdp), main="Probability Distribution\n of 2002 US GDP Forecast",lwd=3, xlim=c(-9,9), ylim=c(0,.3),xlab="Percent Real GDP Growth") par(new=T) newline _ cbind(c(gdp[5000/2],gdp[5000/2]),c(0,.25)) newline1 _ cbind(c(gdp[.05*5000],gdp[.05*5000]),c(0,.15)) newline2 _ cbind(c(gdp[.95*5000],gdp[.95*5000]),c(0,.15)) newline3 _ cbind(c(gdp[.99*5000],gdp[.99*5000]),c(0,.1)) newline4 _ cbind(c(gdp[.01*5000],gdp[.01*5000]),c(0,.1)) lines(newline, lwd=2) lines(newline1) lines(newline2) lines(newline3) lines(newline4) text(gdp[5000/2],.29,"Median\nForecast") text(gdp[5000*.05],.19,"0.05 Prob.\nForecast") text(gdp[5000*.95],.24,"0.95 Prob.\nForecast") text(gdp[5000*.99],.14,"0.99 Prob.\nForecast") text(gdp[5000*.01],.14,"0.01 Prob.\nForecast") ========================== Michaell Taylor, PhD -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
Michaell Taylor <michaell.taylor at reis.com> writes:> I am attempting to manually specify x axis value labels (NOT x axis label as > in xlab) on a density plot. Generally speaking, I would like to erase the > default x axis point labels and replace them with arbitrary x axis point > labels relating to specific CDF points. > > I am sure this can be done, but it isn't obvious to me how. Has anyone done > this before?Yes. Try this, one line at the time: plot(0, axes=FALSE) axis(1) axis(2) box() Then look at the documentation for axis()> My R code follows if it helps (new to R so please excuse any awkwardness that > you notice.)Doesn't really. You might want to lose the "_" for assignment, though. It is a relic that several people want to see disappear in future versions, so do youself a favour and use "<-". -- O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
Sorry, I hit the send button and then immediately saw the axes=FALSE and manual axis commands. Problem solved. Michaell On Monday 24 September 2001 16:58, Michaell Taylor wrote:> I am attempting to manually specify x axis value labels (NOT x axis label > as in xlab) on a density plot. Generally speaking, I would like to erase > the default x axis point labels and replace them with arbitrary x axis > point labels relating to specific CDF points. > > I am sure this can be done, but it isn't obvious to me how. Has anyone > done this before? > > My R code follows if it helps (new to R so please excuse any awkwardness > that you notice.) > > plot(density(gdp), main="Probability Distribution\n of 2002 US GDP > Forecast",lwd=3, > xlim=c(-9,9), ylim=c(0,.3),xlab="Percent Real GDP Growth") > par(new=T) > newline _ cbind(c(gdp[5000/2],gdp[5000/2]),c(0,.25)) > newline1 _ cbind(c(gdp[.05*5000],gdp[.05*5000]),c(0,.15)) > newline2 _ cbind(c(gdp[.95*5000],gdp[.95*5000]),c(0,.15)) > newline3 _ cbind(c(gdp[.99*5000],gdp[.99*5000]),c(0,.1)) > newline4 _ cbind(c(gdp[.01*5000],gdp[.01*5000]),c(0,.1)) > lines(newline, lwd=2) > lines(newline1) > lines(newline2) > lines(newline3) > lines(newline4) > text(gdp[5000/2],.29,"Median\nForecast") > text(gdp[5000*.05],.19,"0.05 Prob.\nForecast") > text(gdp[5000*.95],.24,"0.95 Prob.\nForecast") > text(gdp[5000*.99],.14,"0.99 Prob.\nForecast") > text(gdp[5000*.01],.14,"0.01 Prob.\nForecast") > > > ==========================> > Michaell Taylor, PhD-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
Michaell Taylor <michaell.taylor at reis.com> writes:> >I am attempting to manually specify x axis value labels (NOT x axis label as >in xlab) on a density plot. Generally speaking, I would like to erase the >default x axis point labels and replace them with arbitrary x axis point >labels relating to specific CDF points. > >I am sure this can be done, but it isn't obvious to me how. Has anyone done >this before?Just wrestled with something like this myself and this is the way I did it: 1. Set the lab parameter to the number of tickmarks you want on the x and y axes. If you have a vector of labels called (e.g.) my.labels then use something like: par(lab = c(length(my.labels, 5, 7)) 2. Plot without axes (i.e. add the parmeater "axes = false" to the plotting function you use top create your chart). 3. Add axes using the axis() function: axis(side = 1, labels = mylabels) axis(side = 2) Here is an example using a time series ... you should get the idea: Months <- c("May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") WheatI <- c(0.00, 0.97, 0.97, 0.87, 0.74, 0.64, 0.51, 0.28, 0.26, 0.18, 0.00, 0.00, 0.00, 0.00, 0.00) par(lab = c(length(Months), 3, 7)) plot(WheatI * 100, type = "s", ylim = c(0, 100), xlab = "", ylab = "%", main = "Irrigated Wheat", bty = "n", axes = FALSE) axis(side = 1, labels = Months) axis(side = 2) I hope that helps. Mark -- Mark Myatt -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._