[R] histogram-like barplot? (or reverse?)

Nick Matzke matzke at berkeley.edu
Sat Apr 3 22:36:07 CEST 2010


Nevermind, I think I got it:

========
tempdata = data.frame(cbind(x,y))

xyplot(y ~ x, data=tempdata,
xlab=xlabel,
ylab=ylabel,
xlim=c(1.05* min(timebins), 0),
horizontal=FALSE,
col="gray",
scales=list(alternating=FALSE,
	tck=c(1,0),
	x=list(at=timebins,
	labels=timebins)),
panel=function(...)
	{
	panel.fill(col="white")
	panel.grid(-1,0,lty=3,col="gray")
	panel.barchart(...)
	},
main="xyplot", box.width=timebin_size
)

========

Modified/simplified from these post on doing barcharts on 
time series data:

http://www.mail-archive.com/r-help@r-project.org/msg84294.html
http://www.mail-archive.com/r-help@r-project.org/msg84391.html

=======
#create the dummy data
digrate <- data.frame(Perc=runif(30), 
Drate=rep(letters[1:3], 10),
 
date=c(rep("26-06-2010",9),rep("27-06-2010",21)),

hour=rep(c("18:00","20:00","23:00","03:00","05:30","08:00","10:00","14:40","17:30","19:30"),each=3))
digrate$hora<-paste(digrate$date,digrate$hour)
digrate
library(lattice)

# barchart example does not get the time scale
# get the time range for the x-axes in graph 2
r<-range(strptime(digrate$hora,"%d-%m-%Y %H:%M"))


xyplot(Perc ~ as.POSIXct(hora,format="%d-%m-%Y %H:%M"),
        data=digrate, groups=Drate, ## key=leg,
        xlab="time of the day",
        horizontal=FALSE,
         scales=list(alternating=FALSE,
           tck=c(1,0),
           x=list(at=seq(r[1],r[2],by="hour"),
         labels=format(seq(r[1],r[2],"hours"), format="%H"))),
        panel=function(...) {
          panel.fill(col="white")
          panel.grid(-1,0,lty=3,col="gray")
          panel.barchart(...)
        },
       main="xyplot", box.width=5000
       )

=======


Nick Matzke wrote:
> Hi,
> 
> I have a simple task I can't figure out.  I'd like to take some 
> measurements I made, e.g.:
> 
> year (y-axis)
> 1
> 2
> 3
> 4
> 5
> 6
> 
> counts (x-axis)
> 10
> 10
> 20
> 30
> 40
> 50
> 
> And then, make a barplot with the x-axis ticks (representing the borders 
> between years) between the bars.
> 
> However, barplot seems to force you to make the x-axis arbitrary 
> categories.  I want it to be continuous (as in a histogram) as I have to 
> bin the data by a series of different time periods (1 year intervals, 2 
> year intervals, etc.) and then plot several of the histograms/barplots 
> in a series of figures to show how differing resolution changes the 
> pattern.
> 
> I have calculated the counts manually, but I can't just pipe the raw 
> data into hist due to its weirdness (species stratigraphic ranges).
> 
> Basically I want a scatterplot to plot x,y data points, except with 
> vertical bars instead of points.
> 
> I've tried hacking hist() but so far without luck.
> 
> Any help greatly appreciated!
> 
> Nick
> 
> 

-- 
====================================================
Nicholas J. Matzke
Ph.D. Student, Graduate Student Researcher
Huelsenbeck Lab
Center for Theoretical Evolutionary Genomics
4151 VLSB (Valley Life Sciences Building)
Department of Integrative Biology
University of California, Berkeley

Graduate Student Instructor, IB200A
Principles of Phylogenetics: Systematics
http://ib.berkeley.edu/courses/ib200a/index.shtml

Lab websites:
http://ib.berkeley.edu/people/lab_detail.php?lab=54
http://fisher.berkeley.edu/cteg/hlab.html
Dept. personal page: 
http://ib.berkeley.edu/people/students/person_detail.php?person=370
Lab personal page: 
http://fisher.berkeley.edu/cteg/members/matzke.html
Lab phone: 510-643-6299
Dept. fax: 510-643-6264
Cell phone: 510-301-0179
Email: matzke at berkeley.edu

Mailing address:
Department of Integrative Biology
3060 VLSB #3140
Berkeley, CA 94720-3140

-----------------------------------------------------
"[W]hen people thought the earth was flat, they were wrong. 
When people thought the earth was spherical, they were 
wrong. But if you think that thinking the earth is spherical 
is just as wrong as thinking the earth is flat, then your 
view is wronger than both of them put together."

Isaac Asimov (1989). "The Relativity of Wrong." The 
Skeptical Inquirer, 14(1), 35-44. Fall 1989.
http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm



More information about the R-help mailing list