Ich habe eine Reihe von ggplot()
s mit zwei Schichten: a geom_boxplot
und und geom_points
.R - gridExtra - einige Schicht von ggplot() skaliert nicht
Wenn ich Eingeben die in einem Raster gridExtra
verwenden, die aber die geom_boxplot
Skalen geom_point
nicht der Fall, die hässlich (z.B. siehe Bild unten) in etwas führt.
Wie kann ich dieses Problem bitte beheben?
Reproduzierbare Code:
library(ggplot2)
library(gridExtra)
datablock <- data.frame(date = rep(1:10, 3)
, value = rnorm(30, 3,2)
, name = c(rep("one",10), rep("two",10), rep("three",10)))
currentValues <- data.frame(date = rep(1,3)
, value = c(3, 2.3, 3.5)
, name = c("one","two", "three"))
boxplotFg <-
ggplot(datablock, aes(x = name, y = value)) + geom_boxplot(outlier.shape=NA) +
geom_point(data=currentValues, aes(x=name, y=value, color = value), size = 8)
grid.arrange(boxplotFg,boxplotFg, boxplotFg, boxplotFg,boxplotFg, boxplotFg, ncol = 3)
Ausgang:
Ich könnte natürlich die Größe der geom_point
s verringern, sagen wir, 4 oder 5 ... aber ich fühle mich wie die absolute Größe zu variieren ist nicht der richtige Weg, da es nur das Problem im Allgemeinen lösen wird.
relative Größe der Punkte in ggplot2 Plots Controlling: https://stackoverflow.com/questions/3870303/controlling- relative-Größe-von-Punkten-in-ggplot2-Plots –
@MarcoSandri es wird extrem schwierig sein, das Seitenverhältnis der Punkte mit dieser Methode zu kontrollieren. Insbesondere, da sich die relative Skalierung in den x- und y-Richtungen abhängig von der Größe der Grafikausgabe ändern muss, kann dies nicht einfach algorithmisch bestimmt werden. – dww
Grid-Viewports sollen einige Vererbungseigenschaften bieten, um Grob-Größen relativ zum übergeordneten Kontext zu skalieren, aber AFAIK wurde nie wirklich systematisch verwendet/implementiert. Betrachten wir zum Beispiel 'print (qplot (1,1) + theme_bw (2), vp = Ansichtsfenster (gp = gpar (cex = 10)))' – baptiste