tags:

views:

284

answers:

1

I am using ggplot2 to do some plotting of genomic data, so the basic format is that there is a chromosome and a position along it. I convert the positions to be on a continuous scale, then put the breaks at the boundaries of the chromosomes with:

scale_x_continuous("Genome Position", breaks = c(0, cumsum(chromosome_length)))

That looks great, as far as the actual plotting is concerned, but the labels are then put at the start and end of the chromosomes. I would like them to be centered along each chromosome, at the position where the minor break is drawn by default.

Is this possible?

A: 

How about this?

breaks <- c(0, cumsum(chromosome_length))
scale_x_continuous("Genome Position", breaks = breaks + 0.5, labels = breaks)
hadley
Not so much. Aside from the fact that breaks + 0.5 would not put them in the correct place, this is just moving the major breaks, rather than labeling the minor breaks, which is what I would prefer to do.
JAShapiro
Well you can't label the minor breaks, but you can easily simulate the effect by moving the major breaks, adjusting the theme and using geom_vline. Try the ggplot2 mailing list.
hadley