2015-07-28 3 views
1

Я хочу сделать красную горизонтальную среднюю линию в линейной диаграмме с ggplot2, но я не знаю, как это сделать. Он не должен представлять среднее значение значений столбца E.Плоская горизонтальная линия с ggplot

я доказать это, но это не сработало:

ggplot(data = df3, aes(x = df3$timestamp, y = df3[,1], group = 1)) + 
    geom_line() + 
    ylab("values") + 
    xlab("time") + 
    geom_hline(yintercept=mean(df3[,1])) 

Кадр данных называется df3 временной ряд х линия столбец timestamp, то у линии столбец метрики E.

Здесь головка кадра данных:

  E    timestamp 
11 -22.30933 2015-02-09 09:05:00.712 
14 -22.17142 2015-02-09 09:06:00.703 
17 -21.24673 2015-02-09 09:07:00.703 
20 -21.58154 2015-02-09 09:08:00.702 
23 -21.07082 2015-02-09 09:09:00.702 
26 -22.49973 2015-02-09 09:10:00.702 
+1

Если у вас есть набор данных на 'df3', вам не нужно использовать' df3 $ 'перед именами переменных внутри' aes'. Итак: 'aes (x = timestamp, y = df3 [, 1], group = 1)' отлично. – Jaap

+2

Воспроизводимый пример был бы приятным. http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – Henk

+0

Почему вы используете 'df3 [, 1]' дважды? Итак, один раз для 'geom_line()' и второй раз для 'geom_hline()'? Возможно, было бы полезно посмотреть, как выглядит 'df3'. – drmariod

ответ

2

Грубо говоря, вы должны быть в состоянии использовать geom_line(stat = "hline", yintercept = "mean") как в примере ниже:

require(ggplot2) 
ggplot(mtcars, aes(x = wt, y=mpg)) + 
    geom_point() + 
    geom_line(stat = "hline", yintercept = "mean", colour = "red") 

line

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