2012-12-20 9 views
8

Chcę (mam taką sugestię) utworzyć boxplot z innym wyglądem i dodać do niego etykiety. Spodziewane (niekompletne) dane wyjściowe będą wyglądały następująco (z każdym pudełkiem znajdują się etykiety o zmiennych wartościach) i wielkością próbki.zmiana układu boxplota i dodawanie do niego etykiet

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") 

Odpowiedz

9

To powinno Ci zacząć. Kluczem jest wiedzieć, że jeśli zapiszesz wyniki boxplot w obiekcie podczas ustawiania plot = FALSE, otrzymasz wszystkie informacje o tym, gdzie idzie każdy z obiektów. Następnie możesz użyć tych informacji, aby dodać tekst przez text.

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) 
} 

Chciałbym jednak podkreślić, że ktokolwiek sugerował, że:

  • usunąć osi
  • opisywanie każdego boxplot z kwantylowych wartości i próbki wielkości

nie powinien udzielać porad każdemu, kto robi wykresy. Zawsze. Z powodzeniem sprawili, że twój boxplot jest znacznie, znacznie gorszy.

enter image description here

+3

dzięki, Chciałabym przekazać wiadomość - kiedyś dostanę takie sugestie, że trzeba przestrzegać rozkazów (!)! – shNIL

Powiązane problemy