From: Michael Friendly <friendly_at_yorku.ca>

Date: Thu 07 Jul 2005 - 06:45:32 EST

*>
*

*>
*

> I think you'll have to do everything explicitly. That is, something

*> like this:
*

*>
*

*> years1500 <- runif(500, 1500, 1990) # some fake data
*

*> x <- log(2000-years1500)
*

*> from <- log(2000-1990)
*

*> to <- log(2000-1500)
*

*> plot(density(x, from=from, to=to), axes=F)
*

*> rug(x)
*

*>
*

*> labels <- pretty(years1500)
*

*> labels <- labels[labels<2000]
*

*> axis(1, labels, at=log(2000-labels))
*

*>
*

*> minorticks <- pretty(years1500, n=20)
*

*> minorticks <- minorticks[minorticks<2000]
*

*> axis(1, labels=FALSE, at=log(2000-minorticks), tcl=-0.25)
*

*>
*

*> axis(2)
*

*> box()
*

*>
*

*> Duncan Murdoch
*

Date: Thu 07 Jul 2005 - 06:45:32 EST

Thanks Duncan,

That is almost exactly what I want, except I want time to
go in the normal order, not backwards, so:

# plot on reverse log scale

years1500 <- runif(500, 1500, 1990) # some fake data
x <- -log(2000-years1500)

from <- -log(2000-1990)

to <- -log(2000-1500)

plot(density(x, from=from, to=to), axes=F)
rug(x)

labels <- pretty(years1500)

labels <- labels[labels<2000]

axis(1, labels, at=-log(2000-labels))

> On 7/6/2005 3:36 PM, Michael Friendly wrote:

*>
*

>> I'd like to do some plots of historical event data on a reverse log >> scale, started, say at the year 2000 and going >> backwards in time, with tick marks spaced according to >> log(2000-year). For example, see: >> >> http://euclid.psych.yorku.ca/SCS/Gallery/images/log-timeline.gif >> >> As an example, I'd like to create a density plot of such data with the >> horizontal axis reverse-logged, >> a transformation of this image: >> http://euclid.psych.yorku.ca/SCS/Gallery/milestone/Test/mileyears1.gif >> >> Some initial code to do a standard density plot looks like this: >> >> mileyears <- read.csv("mileyears3.csv", skip=1, >> col.names=c("key","year","where","add","junk")) >> mileyears <- mileyears[,2:4] >> >> years <- mileyears$year >> years1500 <- years[years>1500] >> dens <- density(years1500, from=1500, to=1990) >> plot(dens) >> rug(years1500) >> >> I could calculate log(2000-year), but I'm not sure how to do the >> plotting, do some minor tick marks >> and label the major ones, say at 100 year intervals.

> I think you'll have to do everything explicitly. That is, something

-- Michael Friendly Email: friendly@yorku.ca Professor, Psychology Dept. York University Voice: 416 736-5115 x66249 Fax: 416 736-5814 4700 Keele Street http://www.math.yorku.ca/SCS/friendly.html Toronto, ONT M3J 1P3 CANADA ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.htmlReceived on Thu Jul 07 06:55:18 2005

*
This archive was generated by hypermail 2.1.8
: Fri 03 Mar 2006 - 03:33:18 EST
*