2012-12-20 9 views
8

Ich möchte (habe Vorschlag, dies zu tun) erstellen Boxplot mit anderen Look und Etiketten hinzugefügt. Die erwartete (nicht vollständige) Ausgabe wird wie folgt aussehen (mit jeder Box hat quatile labeles) und Stichprobenumfang.Ändern Layout von Boxplot und Hinzufügen von Etiketten zu ihm

enter image description here

boxplot(len~supp*dose, data=ToothGrowth, notch=TRUE, 
    col=(c("gold","darkgreen")), 
    main="Tooth Growth", xlab="Suppliment and Dose", names = supp) 

    # some unsuccessful trials 
# to add names 
boxplot(len~supp*dose, data=ToothGrowth, notch=TRUE, 
    col=(c("gold","darkgreen")), 
    main="Tooth Growth", xlab="Suppliment and Dose", names = supp*dose) 
# to remove the plot outline 
boxplot(len~supp*dose, data=ToothGrowth, notch=TRUE, 
    col=(c("gold","darkgreen")), 
    main="Tooth Growth", xlab="Suppliment and Dose", bty="n") 

Antwort

9

Dies sollte Sie loslegen. Der Schlüssel ist zu wissen, dass, wenn Sie die Ergebnisse von boxplot in ein Objekt speichern, während Sie plot = FALSE setzen, erhalten Sie alle Informationen für wo jedes der Objekte geht. Dann können Sie diese Informationen verwenden, um Text über text hinzuzufügen.

d <- boxplot(len~supp*dose, data=ToothGrowth,plot = FALSE) 

boxplot(len~supp*dose, data=ToothGrowth, notch=TRUE, 
    col=(c("gold","darkgreen")), 
    main="Tooth Growth", xlab="Suppliment and Dose",axes = FALSE) 

for (i in 1:ncol(d$stats)){ 
    text(i,d$stats[,i],labels = d$stats[,i],cex = 0.75,adj = c(0.5,0)) 
    text(i,d$stats[5,i]+1,labels = paste0("n=",d$n[i]),cex = 0.75) 
    text(i-0.25,d$stats[3,i],labels = d$names[i],adj = 1,cex = 0.75) 
} 

Ich würde jedoch darauf hinweisen, dass wer auch immer vorgeschlagen, dass Sie:

  • entfernen Sie die Achsen
  • annotate jeder boxplot mit den Quantilwerte und Probengrößen

sollte nicht geben Sie jemandem Ratschläge zum Erstellen von Diagrammen. Je. Sie haben Ihren Boxplot viel, viel schlimmer gemacht.

enter image description here

+3

Danke, wünsche ich, dass ich Ihre Nachricht passieren könnte - irgendwann ich solche Vorschläge zu bekommen, muss ich folgen (Bestellungen!)! – shNIL

Verwandte Themen