как сделать линейный график со средней + ошибкой - PullRequest
0 голосов
/ 02 мая 2020

Я пытаюсь построить график, но не получилось. Я не генерирую код для этого. у нас есть среднее и стандартная ошибка. Средства месяца должны быть сгруппированы с другим цветом. Я сгенерировал график в Excel, но для меня было бы лучше сгенерировать в R. Мои данные введите описание изображения здесь enter image description here

Я хочу посмотреть такое изображение. Это было сделано в Excel. Пожалуйста, помогите мне решить проблему

1 Ответ

0 голосов
/ 02 мая 2020

Вы можете начать со следующего кода.

Подготовьте ваши данные в виде фрейма данных, как показано ниже. Вы можете использовать read.csv для чтения данных из файла CSV.

> data
       Month            season POC   sd_min   sd_max
1       June       Pre Monsoon 125 114.0564 135.9436
2       July Southwest Monsoon 145 137.9181 152.0819
3     August Northeast Monsoon 155 151.0996 158.9004
4  September Northeast Monsoon 155 145.0982 164.9018
5    October Northeast Monsoon 156 152.6262 159.3738
6   November  SouthwestMonsoon 152 134.6723 169.3277
7   December  SouthwestMonsoon 100  98.3175 101.6825
8    January       Pre Monsoon 150 143.3171 156.6829
9   February       Pre Monsoon 110 107.9925 112.0075
10     March       Pre Monsoon 153 148.8530 157.1470
11     April       Pre Monsoon 148 144.7181 151.2819
12       May  SouthwestMonsoon 146 141.7141 150.2859

ПРИМЕЧАНИЕ: data$Month должен быть фактором с уровнями, упорядоченными в соответствии с порядком, требуемым на оси x графика.

data$Month <- factor(data$Month, levels = data$Month)
library(ggplot2)

ggplot(data, aes(x = Month, y = POC, group = 1)) + geom_line() + geom_point()
 + geom_errorbar(ymax = data$sd_max, ymin = data$sd_min, width = 0.25)
 + coord_cartesian(ylim = c(0.95 * min(data$sd_min), 1.05 * max(data$sd_max)),
   expand = FALSE, clip = "off") + theme_bw()

Fig-1

Чтобы иметь второй слой с маркировкой по оси X, вы можете сослаться здесь и здесь

...