2013-05-06 3 views
2

Я предполагаю, что название говорит все. У меня есть набор данных без каких-либо данных за день 0, но для иллюстрации я хотел бы включить день 0 на дискретную ось Х, возможно ли это?
Пример кода ниже, фасетка необходима для моих исходных данных.Добавить фальшивый галочку к оси x в ggplot

tmp=expand.grid(Mig=c("A","B"), 
       Measure=c("Rel", "Abs"), 
       Mean=rnorm(1,2,3), 
       Day=factor(c(-14:-1,1:14), levels=c(-14:-1, 1:14))) 
tmp$Group=with(tmp, paste(Mig, Measure)) 
ggplot(tmp, aes(x=Day, y=Mean, group=Group))+ 
    facet_grid(Mig~Measure)+ 
    geom_line()+ 
    scale_x_discrete(breaks=seq(-14,14,2)) 

ответ

2

Если преобразовать Day в целое или цифровой, кажется, работает.

tmp$Day <- as.integer(as.character(tmp$Day)) 

ggplot(tmp, aes(x=Day, y=Mean, group=Group))+ 
    facet_grid(Mig~Measure)+ 
    geom_line()+ 
    scale_x_continuous(breaks=seq(-14,14,2)) 

Fixing labels

EDIT: Фиксированные перерывы.

+0

Спасибо! Чтобы удалить пустую область влево, я изменил последнюю строку на: scale_x_discrete (limits = seq (-14,14,2)) –

+0

Извините, я должен был исправить это в своем ответе в первый раз. См. Редактирование. 'scale_x_discrete()' должен быть 'scale_x_continuous()'. – MadScone