Bien sûr pourquoi pas?
Voici un exemple (l'un des dizaines que j'ai trouvé avec une simple recherche Google):
(La source de l'image est le blog de mesure de l'utilisabilité, ici .)
J'ai vu des moyennes, des moyennes plus ou moins un écart-type, divers quantiles (comme la médiane, les quartiles, les 10e et 90e centiles), tous affichés de diverses manières.
Au lieu de tracer une ligne juste à travers le tracé, vous pouvez marquer des informations au bas de celui-ci - comme ceci:
Il y a un exemple (l'un des nombreux à trouver) avec un boxplot en haut plutôt qu'en bas, ici .
Parfois, les gens marquent dans les données:
(J'ai légèrement agité les emplacements des données car les valeurs ont été arrondies à des entiers et vous ne pouviez pas bien voir la densité relative.)
Il y a un exemple de ce genre, fait dans Stata, sur cette page (voir le troisième ici )
Les histogrammes sont meilleurs avec un peu d'informations supplémentaires - ils peuvent être trompeurs par eux-mêmes
Il vous suffit de prendre soin d'expliquer en quoi consiste votre intrigue! (Vous voudriez un meilleur titre et une étiquette sur l'axe des x que je n'ai utilisé ici, pour commencer. Plus une explication dans une légende de figure expliquant ce que vous aviez marqué dessus.)
-
Un dernier complot:
-
Mes tracés sont générés en R.
Éditer:
Comme l'a supposé @gung, a abline(v=mean...
été utilisé pour tracer la ligne moyenne à travers le graphique et a rug
été utilisé pour tracer les valeurs des données (bien que j'aie effectivement utilisé rug(jitter(...
parce que les données ont été arrondies à des entiers).
Voici un moyen de faire le boxplot entre l'histogramme et l'axe:
hist(Davis2[,2],n=30)
boxplot(Davis2[,2],
add=TRUE,horizontal=TRUE,at=-0.75,border="darkred",boxwex=1.5,outline=FALSE)
Je ne vais pas énumérer à quoi tout cela sert, mais vous pouvez vérifier les arguments dans l'aide ( ?boxplot
) pour savoir à quoi ils servent et jouer avec eux-mêmes.
Cependant, ce n'est pas une solution générale - je ne garantis pas que cela fonctionnera toujours aussi bien qu'ici (notez que j'ai déjà changé les options at
et boxwex
*). Si vous n'écrivez pas une fonction intelligente pour prendre soin de tout, il est nécessaire de faire attention à ce que tout fait pour vous assurer qu'il fait ce que vous voulez.
Voici comment créer les données que j'ai utilisées (j'essayais de montrer comment la régression Theil était vraiment capable de gérer plusieurs valeurs aberrantes influentes). Il se trouve que ce sont des données avec lesquelles je jouais lorsque j'ai répondu à cette question pour la première fois.
library("car")
add <- data.frame(sex=c("F","F"),
weight=c(150,130),height=c(NA,NA),repwt=c(55,50),repht=c(NA,NA))
Davis2 <- rbind(Davis,add)
* - une valeur appropriée pour at
est d'environ -0,5 fois la valeur de boxwex
; ce serait une bonne valeur par défaut si vous écrivez une fonction pour le faire; boxwex
devrait être mis à l'échelle d'une manière qui se rapporte à l'échelle y (hauteur) du boxplot; Je suggérerais que 0,04 à 0,05 fois la limite supérieure y soit souvent correcte.
Code pour le diagramme à bandes marginales:
hist(Davis2[,2],n=30)
stripchart(jitter(Davis2[,2],amount=.5),
method="jitter",jitter=.5,pch=16,cex=.05,add=TRUE,at=-.75,col='purple3')