2014-09-09 2 views
1

В следующем примере кода:бар Ошибка заканчивается отсутствует

require(ggplot2) 

stats <- data.frame(Day=0:5, Mean=c(3.2, 2.7, 0.8, 0.2, 0, 0), Q10=0.0, Q90=c(7.48, 4.0, 2.2, 1.2, 0, 0)) 

plot <- ggplot(stats, aes(x=Day, y=Mean)) + 
    geom_point(size=4) + 
    geom_line(size=1.5) + 
    geom_errorbar(aes(ymin=Q10, ymax=Q90), width=0.2) + 
    ggtitle("Example") + 
    ylab("Pain Score") + 
    scale_x_continuous("Day", expand=c(0.02,0), limits=c(0,15), breaks=0:15, labels=c("DOS", 1:15)) + 
    scale_y_continuous("Pain Score", expand=c(0.02,0), limits=c(0,10), breaks=0:10) 

print(plot) 

Производит следующий сюжет:

Я был не в состоянии, чтобы понять, почему самый левый бар ошибка не имеет 'T' на концах.

ответ

1

Обратите внимание на предупреждение:

Warning message: 
Removed 1 rows containing missing values (geom_path). 

Используйте coord_cartesian указать пределы без отбрасывания данных:

plot <- ggplot(stats, aes(x=Day, y=Mean)) + 
    geom_point(size=4) + 
    geom_line(size=1.5) + 
    geom_errorbar(aes(ymin=Q10, ymax=Q90), width=0.2) + 
    ggtitle("Example") + 
    ylab("Pain Score") + 
    scale_x_continuous("Day", breaks=0:15, labels=c("DOS", 1:15)) + 
    scale_y_continuous("Pain Score", breaks=0:10) + 
    coord_cartesian(xlim = c(-0.3, 15.3), ylim = c(-0.3,10.3)) 

print(plot) 
+0

Это то, что я закончил делать, в конце концов, обработал удовольствие. – thomasfedb

3

Проблема с вашим заявлением scale_x_continuous(). Вы устанавливаете limits=, начиная с 0, но для первого бара «Т» выходит за пределы этого предела, поэтому он удаляется (вы предупреждаете, что для geom_path() одна строка удалена). Если вы установили limits=, например, в звезду от -0,3, появится «T».

+ scale_x_continuous("Day", expand=c(0.02,0), limits=c(-0.3,15), 
     breaks=0:15, labels=c("DOS", 1:15)) 

enter image description here

+0

Пока я пошел с 'coord_cartesian' решение в конце , похоже, что это сработало бы. – thomasfedb

Смежные вопросы