130 / 15 / 6
Регистрация: 05.08.2013
Сообщений: 285
1

Построение нескольких кривых на одном графике R, ggplot

12.03.2018, 17:14. Показов 2500. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!

Библиотека ggplot в R служит для удобного построения графиков.
Можно построить несколько категорийных кривых на одном графике.
Причём вариантов построения == написания кода для этого, по крайней мере несколько.
Вот только графики получаются различные, хотя, кажется, что всё правильно.

Вариант №1:
Lisp
1
2
3
4
5
6
7
8
9
#data - исходные данные
#исходынй массив преобразуем в длинный формат (пример после кода)
melted_data<-melt(data,id = "name_error_value")
melted_example<-ggplot(melted_data, aes(x = name_error_value, y = value, colour = variable, group =1)) + 
  geom_line() + 
  ylab(label="Number of errors") + 
  xlab(label = "Name of error") + 
  scale_colour_manual(values=rainbow(3))
plot(melted_example)
Результат, построения, применяя вариант №1 (к сожалению, видно не все категории, т.к. стоит ограничение по разрешению изображения):
Построение нескольких кривых на одном графике R, ggplot



Вариант №2:
Lisp
1
2
3
4
5
6
7
8
9
10
#data - исходные данные
#здесь мы работаем с исходным массивом данных
gg_plot_example<-ggplot(T_summary_true_name_value_index, aes(data$name_error_value)) + 
  geom_line(aes(y = data$`200`, colour = "200", group = 1)) + 
  geom_line(aes(y = data$`400`, colour = "400", group = 1)) +
  geom_line(aes(y = data$`431`, colour = "431", group = 1)) + 
  ylab(label="Number of errors") + 
  xlab(label = "Name of error") + 
  scale_colour_manual(values=rainbow(3))
plot(gg_plot_example)
Результат, построения, применяя вариант №2:
Построение нескольких кривых на одном графике R, ggplot


Собственно, график должен быть именно таким, как во 2-м варианте.

Исходные данные (data):
T_summary_true_name_value_index.xlsx

Данные, после применения функции melt:
melted_data.xls

Вероятно, что я упускаю что-то. Подскажите пожалуйста, кто знает.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2018, 17:14
Ответы с готовыми решениями:

Возможно ли построение нескольких ЛАЧХ на одном графике?
В общем, мне необходимо построить набор ЛАЧХ в маткаде. Имеется несколько значений переменной Х,...

N кривых на одном графике
Нужно на один график добавить n кривых (n пар массивов X,Y-координат). n - переменная программы....

Объединение графиков. Больше 16 кривых в одном графике. mathcad 15
Нужно объединит графики P10 с P20, P11 с P21, P12 с P22, P13 с P23, P14 с P24, P15 с P25 и чтобы...

Построить несколько кривых на одном графике с разными осями
Здравствуйте. Есть такая задача: Имеются данные на зависимости f(x,y1), f(x,y2): x: 0 4 8 10 12...

1
130 / 15 / 6
Регистрация: 05.08.2013
Сообщений: 285
12.03.2018, 17:57  [ТС] 2
Таки разобрался.
Надо устанавливать параметр group, равным массиву с индексами n-й кривой.

Т.е. верно будет так:

Lisp
1
2
3
4
5
6
7
8
9
#data - исходные данные
#исходынй массив преобразуем в длинный формат (пример после кода)
melted_data<-melt(data,id = "name_error_value")
melted_example<-ggplot(melted_data, aes(x = name_error_value, y = value, colour = variable, group =variable)) + 
  geom_line() + 
  ylab(label="Number of errors") + 
  xlab(label = "Name of error") + 
  scale_colour_manual(values=rainbow(3))
plot(melted_example)
0
12.03.2018, 17:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2018, 17:57
Помогаю со студенческими работами здесь

Построение нескольких кривых одной функцией plot
Играюсь с одной анимацией в которой из-за большого количества обьектов начинает подтормаживать. В...

Построение 3 ветви на одном графике в MathCAD?
Помогите пожалуйста, у меня изменяется P = 2, 3, 5. Как построить 3 ветви на одном графике???

Построение нескольких графиков в одном окне
Здравствуйте. Всех с прошедшими праздниками. При построение графиков в одном окне с помощью...

Построение нескольких графиков на одном с разными x осями
Здравствуйте, уважаемые программисты. Очень нуждаюсь в вашей помощи. Необходимо построить на одном...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru