Возникли проблемы с фасеткой в ​​ggplot - PullRequest
0 голосов
/ 29 ноября 2018

У меня возникли некоторые трудности с настройкой фасетной обертки в ggplot с тремя переменными, две из которых являются точками, а третья - линией.Должно быть двенадцать графиков (по одному на каждый месяц, который представляет собой фасетную обертку) с местами вдоль x и цифрами вдоль y.Тремя переменными являются OSM, DRP и Demand.Вот примерные данные (фактические данные состоят из 12 месяцев из 30 мест в месяц).Я добавил его в виде кода, так как не могу понять, как добавить данные Excel в переполнение стека.

Код, который я сгенерировал до сих пор, выглядит следующим образом, но он не работает.Я также не могу понять, как добавить три переменные в легенду.Любая помощь будет оценена.

library(ggplot2)
parts$Location<-as.factor(parts$Location)
parts$OSM<-as.factor(parts$OSM)
parts$DRP<-as.factor(parts$DRP)
parts$Demand<-as.factor(parts$Demand)
parts$Month<-as.factor(parts$Month)
data=data.frame(parts$Location,parts$Month,parts$OSM,parts$DRP,parts$Demand)

# Faceting
ggplot(data)+geom_point(stat = "identity", aes(y=parts$OSMparts, x=parts$Location,pch=4,col="red" )) + 
  geom_point(stat = "identity", aes(y=parts$DRPparts, x=parts$Location,pch=16,col="blue" ))+
  geom_line(stat = "identity", aes(y=parts$Demandparts, x=parts$Location,col="green" ))
  facet_wrap(~parts$Month)



Location    Month   OSM Demand  DRP
1   January 0   0   1
2   January 2   0   2
3   January 0   1   0
4   January 0   0   1
5   January 2   0   2
1   February    0   0   0
2   February    2   2   2
3   February    0   0   0
4   February    1   1   0
5   February    1   1   2
1   March   0   0   0
2   March   2   4   2
3   March   0   1   0
4   March   2   2   1
5   March   2   2   2
1   April   0   0   NA
2   April   2   2   NA
3   April   0   0   NA
4   April   1   1   NA
5   April   2   4   NA
1   May 0   0   NA
2   May 1   0   NA
3   May 0   0   NA
4   May 2   2   NA
5   May 2   0   NA
1   June    0   0   0
2   June    3   6   2
3   June    0   0   0
4   June    1   3   1
5   June    2   7   2
1   July    0   0   0
2   July    3   3   3
3   July    0   1   0
4   July    3   4   2
5   July    3   4   3
1   August  0   1   0
2   August  3   3   3
3   August  0   0   0
4   August  4   6   3
5   August  3   6   3
1   September   0   0   1
2   September   3   0   3
3   September   0   0   1
4   September   2   3   3
5   September   3   1   4
1   October 0   0   0
2   October 2   1   2
3   October 0   0   0
4   October 4   3   3
5   October 3   1   3
1   November    0   0   0
2   November    2   1   2
3   November    0   1   0
4   November    5   7   3
5   November    4   5   3
1   December    0   0   0
2   December    2   5   2
3   December    0   0   0
4   December    2   0   4
5   December    5   13  3

1 Ответ

0 голосов
/ 29 ноября 2018

Решение гораздо проще, чем вы пытаетесь его сделать.

ggplot(parts) +
  geom_point(aes(x=Location, y=OSM, col="blue"), pch=16)+
  geom_point(aes(x=Location, y=DRP, col="red"), pch=16)+
  geom_line(aes(x=Location, y=Demand, col="green"))+
  facet_wrap(~factor(Month, levels = month.name))+
  scale_colour_discrete(name  ="Label",
                        labels=c("DRP", "Demand","OSM"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...