2015-01-15 2 views
0

Мой код нижеR barplot прямая горизонтальная линия

data <-read.csv("Results_15Jan2015.csv") 
PartNo <- data$PartNo 
TotalTime <- data$TOTAL_TIME 

mp <- barplot(height = TotalTime, main = "Plot of Total Time for different Part Numbers", xlab = "Different Part Numbers", ylab = "Total Time (sec)", xlim = c(1,42), ylim = c(0,max(TotalTime)+30), 
    col = rainbow(nrow(data))) 
text(mp, par("usr")[3], labels = PartNo, srt = 45, adj = c(1.1,1.1), xpd = TRUE, cex=.9) 
abline(h=mean(TotalTime)) 

specify_decimal <- function(x, k) format(round(x, k), nsmall=k) 
text(7.5,mean(TotalTime)+25, paste("Average =",specify_decimal(mean(TotalTime),3))) 

2 Вопросы: а) Почему моя горизонтальная линия не рисуется весь путь справа от сюжета? Как нарисовать горизонтальную линию до упора вправо?

b) У меня есть в общей сложности 42 наблюдения, см. http://imgur.com/97qHaUq , но общее количество баров показано только 37, почему? См. http://imgur.com/dGj3WOt

Мне нужно отобразить все 42 бара за один участок. как это сделать? спасибо

+0

что вам не хватает 5 наблюдений может быть связано с '' NA'' записи; вы проверили свои данные? Что произойдет, если вы оставите аргумент '' xlim''? – MrGumble

ответ

1

Как сказал MrGrumble, отбрасывание аргумента xlim должно решить обе ваши проблемы (строка и отсутствующие бары). Это может быть не просто, что этот аргумент в функции barplot, так как вы не даете x явно. Смотрите в этом примере:

x <-seq(15) 

barplot(x,xlim=c(1,15)) 

abline(h=6) 

дает графическое изображение с такими же проблемами, с теми, у Вас есть, в то время как

x <-seq(15) 

barplot(x) 

abline(h=6) 

ведет себя «как и ожидалось»

+0

BARVO, СПАСИБО (Кристиан и MrGrumble) ОЧЕНЬ МНОГО. Меня устраивает. –

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