Je vais essayer d'expliquer mon problème en utilisant un code modifié d'ici: https://stats.stackexchange.com/questions/22805/how-to-draw-neat-polygons-around-scatterplot-regions-in-ggplot2Comment combiner les parcelles de ggplot2 et boxplotdou?
Dans mon exemple, j'utilise l'ensemble de données Iris.
Mes tentatives ont produit ce jusqu'à présent:
Mon but est de tracer la Double Box Terrain (boxplotdou) sur le diagramme de dispersion décortiqué - avec les mêmes dimensions. Le code actuel est:
library(ggplot2)
library(boxplotdbl)
df <- iris
find_hull <- function(df) df[chull(df$Sepal.Length, df$Sepal.Width), ]
hulls <- ddply(df, "Species", find_hull)
plot <- ggplot(data = df, aes(x = Sepal.Length, y = Sepal.Width, colour=Species, fill = Species)) +
geom_point() +
geom_polygon(data = hulls, alpha = 0.5) +
labs(x = "Sepal.Length", y = "Sepal.Width")
plot
par(new = TRUE)
# This is quite close what I'm trying to achieve, without axes. But it is in wrong position
#boxplotdou(Sepal.Length~Species, iris, Sepal.Width~Species, iris, factor.labels=FALSE, draw.legend=FALSE, name.on.axis=FALSE, ann = FALSE, axes = FALSE)
# This shows the axes, which do not match the underlying plot
boxplotdou(Sepal.Length~Species, iris, Sepal.Width~Species, iris, factor.labels=FALSE, draw.legend=FALSE, name.on.axis=FALSE, ann = FALSE)
J'ai essayé d'insérer le boxplotdou (... au sein ggplot() mais je suis une erreur:. « Je ne sais pas comment ajouter o à une parcelle »
toute aide serait appréciée.
-Kari
Veuillez ne pas faire ceci. – tchakravarty
Je vais essayer de tout faire dans ggplot2. Vous devez créer une deuxième zone de données dans laquelle vous calculez les valeurs des valeurs supérieures et inférieures des barres et des zones de boîte à moustache. Tracez ensuite les boîtes avec geom_rect. Les barres peuvent être tracées avec geom_errorbar. Peut-être besoin de geom_errorbarh à partir du paquet ggstance. https://github.com/lionel-/ggstance – timcdlucas