Il existe une myriade de possibilités.
Une option que j'ai vue utilisée qui évite la confusion avec les boxplots (en supposant que vous ayez des médianes ou des données originales disponibles) est de tracer un boxplot et d'ajouter un symbole qui marque la moyenne (avec une légende pour rendre cela explicite). Cette version du boxplot qui ajoute un marqueur pour la moyenne est mentionnée, par exemple dans Frigge et al (1989) [1]:
Le graphique de gauche montre un symbole + comme marqueur moyen et le graphique de droite utilise un triangle sur le bord, adaptant le marqueur moyen à partir du graphique faisceau-point d'appui de Doane & Tracy [2].
Voir aussi cet article SO et celui-ci
Si vous n'avez pas (ou ne voulez vraiment pas montrer) la médiane, un nouveau tracé sera nécessaire et il serait bon qu'il soit visuellement distinct d'un boxplot.
Peut-être quelque chose comme ça:
... qui trace le minimum, le maximum, la moyenne et la moyenne sd pour chaque échantillon en utilisant différents symboles, puis dessine un rectangle, ou peut-être mieux, quelque chose comme ceci:±
... qui trace le minimum, le maximum, la moyenne et la moyenne sd pour chaque échantillon en utilisant des symboles différents, puis dessine une ligne (en fait, actuellement c'est en fait un rectangle comme avant, mais dessiné étroit; il devrait être changé en dessinant un ligne)±
Si vos chiffres sont sur des échelles très différentes, mais sont tous positifs, vous pourriez envisager de travailler avec des journaux, ou vous pourriez faire de petits multiples avec des échelles différentes (mais clairement marquées)
Code (actuellement pas particulièrement «sympa», mais pour le moment il s'agit juste d'explorer des idées, ce n'est pas un tutoriel pour écrire un bon code R):
fivenum.ms=function(x) {r=range(x);m=mean(x);s=sd(x);c(r[1],m-s,m,m+s,r[2])}
eps=.015
plot(factor(c(1,2)),range(c(A,B)),type="n",border=0)
points((rep(c(1,2),each=5)),c(fivenum.ms(A),fivenum.ms(B)),col=rep(c(2,4),each=5),pch=rep(c(1,16,9,16,1),2),ylim=c(range(A,B)),cex=1.2,lwd=2,xlim=c(0.5,2.5),ylab="",xlab="")
rect(1-1.2*eps,fivenum.ms(A)[2],1+1.4*eps,fivenum.ms(A)[4],lwd=2,col=2,den=0)
rect(2-1.2*eps,fivenum.ms(B)[2],2+1.4*eps,fivenum.ms(B)[4],lwd=2,col=4,den=0)
plot(factor(c(1,2)),range(c(A,B)),type="n",border=0)
points((rep(c(1,2),each=5)),c(fivenum.ms(A),fivenum.ms(B)),col=rep(c(2,4),each=5),pch=rep(c(1,16,9,16,1),2),ylim=c(range(A,B)),cex=1.2,lwd=2,xlim=c(0.5,2.5),ylab="",xlab="")
rect(1-eps/9,fivenum.ms(A)[2],1+eps/3,fivenum.ms(A)[4],lwd=2,col=2,den=0)
rect(2-eps/9,fivenum.ms(B)[2],2+eps/3,fivenum.ms(B)[4],lwd=2,col=4,den=0)
[1] Frigge, M., DC Hoaglin et B. Iglewicz (1989),
"Quelques implémentations du diagramme en boîte".
American Statistician , 43 (février): 50-54.
[2] Doane DP et RL Tracy (2000),
«Using Beam and Fulcrum Displays to Explore Data»
American Statistician , 54 (4): 289–290, novembre
R
commandes, cette question est hors sujet ici. Mais il semble que vous vous demandiez principalement à quoi ressemblerait une bonne intrigue et, accessoirement, comment la créer. Si oui, je suggère de supprimer "avec R" de votre titre et peut-être d'indiquer, dans le corps, que vous disposezR
.