Got it figured out. I found this post on the ggplot2 Google Group: http://groups.google.com/group/ggplot2/browse_thread/thread/698e658b6dfec56c/5390824dab4a1cd7
It recommends you make this function: lbl_formatter <- function(x) { h <- floor(x/60) m <- floor(x %% 60) s <- round(60*(x %% 1)) # Round to nearest second sprintf('%02d:%02d:%02d', h, m, s) } Then you assign it as the formatter using scale_x_continuous(formatter = lbl_formatter). Aren On Mon, Jan 2, 2012 at 9:34 PM, Aren Cambre <a...@arencambre.com> wrote: > > Thanks to Joshua Wiley for turning me on to ggplot2. > > I am making a plot using this: > p <- ggplot(dallas, aes(x = offense_hour)) + geom_bar() + coord_polar() > > Dallas is a data frame, and offense_hour is a column with chron > objects from the chron library. In this case, the chron object was > created with the times function. It is only a time (H:M:S) with no > date attached. > > The plot shows up fine, but the X axis labels are 0.0 through 1.0. How > do I convert this to 0:00 through 23:59 (or whatever may be > appropriate given the breaks)? > > My searches lead me to scale_x_discrete, but I am not clear if that's > even the right function. > > Aren ______________________________________________ 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.