Ich versuche, eine ggplot2-Facette zu erstellen, die vom Plottyp umschlossen ist. Ich habe grid.arrange
verwendet, aber ich versuche, den Diagrammbereich zu maximieren, indem ich das grid.arrange benutze, das ich wegen der Wiederholung der y-Achse und der Legenden Bereich verliere.Erstellen von ggplot2-Diagrammen, die durch den Plottyp facetwrapped werden
Insbesondere versuche ich, ein Diagramm zu erstellen, das einen BoxPlot auf der linken Seite mit einer Zeitreihe der gleichen Daten (also derselben Y-Achse) auf der rechten Seite hat. Dann hätte ich eine einzige Y-Achse und eine einzige Legende - ist das möglich?
Der Code:
library(ggplot2)
library(gridExtra)
Time = c("19/12/2013 10:00","19/12/2013 10:01", "19/12/2013 10:02", "19/12/2013 10:03", "19/12/2013 10:04",
"19/12/2013 10:05", "19/12/2013 10:06", "19/12/2013 10:07", "19/12/2013 10:08", "19/12/2013 10:09",
"19/12/2013 10:10", "19/12/2013 10:11", "19/12/2013 10:12", "19/12/2013 10:13", "19/12/2013 10:14")
test <- data.frame(Time)
test$Factor <- c("t1", "t1", "t1", "t1", "t1", "t1", "t1", "t1", "t1", "t2", "t2", "t2", "t2", "t2", "t2")
test$Values <- c(4,7,2,9,6,9,1,1,5,8,3,4,3,6,7)
test$PROD <- test$PROD <- c("one", "two", "one", "two", "one", "one", "two", "one", "one",
"two", "one", "two", "two", "two", "one")
p1 <-ggplot(data=test,aes(Factor,Values)) +
geom_boxplot(outlier.colour = "red", outlier.size = 3, outlier.shape = 15, fill = "white", colour = "blue") +
theme(panel.grid.minor = element_line(colour = "grey"), plot.title = element_text(size = rel(2)),axis.text.x = element_text(angle=90, vjust=1), strip.text.x = element_text(size = 8, colour = "black", face = "bold")) +
geom_point(alpha = 0.6, position = position_jitter(w = 0.05, h = 0.0), aes(colour=factor(Factor)), size =3) +
facet_wrap(~PROD, scales = "free") +
ggtitle("MyTitle") +
scale_size_area() +
xlab("Tools") +
ylab("Values")
p2<-ggplot(data = test, aes(Time,Values)) +
ggtitle("MyTitle") +
theme(axis.text.x = element_text(angle=90, vjust=1),plot.title = element_text(size = rel(2))) +
geom_point(aes(colour=factor(Factor)), size = 3) +
facet_wrap(~PROD, scales = "free") +
xlab("TIME") +
ylab("Values")
grid.arrange(p1,p2,ncol=2)
Dummy Facettierschritt Variable? https://github.com/hadley/ggplot2/wiki/Align-two-plots-on-a-page – baptiste
@baptiste Ich bin nicht sicher, dass Dummy-Facettierung hier angewendet werden kann, da die Op bereits facet_wrap verwenden .. – agstudy
@agstudy konzeptionell, ich denke, eine Dummy-Variable könnte mit dieser Situation umgehen, aber es kann nicht sehr intuitiv – baptiste