2016-09-22 3 views
0

Ich versuche, einen Boxplot mit ggplot2 in R zu erstellen, unten ist mein Code und die Handlung, die es produziert. Ich möchte es ändern, anstatt die x-Achse als 0.5mg, 0.5mg, 1mg, 1mg, 2mg und 2mg markiert zu haben, möchte ich nur 0.5mg, 1mg und 2mg zwischen jedem der Sätze von zwei Boxplots. Gibt es eine Möglichkeit, dies zu tun?Boxplot ein x-Achsen-Häkchen Label für zwei Boxen

boxplot

ggplot(ToothGrowth, aes(x=interaction(supp, dose), y=len, fill=supp)) + 
geom_boxplot() + 
scale_x_discrete(labels = c("0.5mg", "0.5mg", "1mg", "1mg", "2mg", "2mg"), name = "Dosage") + 
scale_y_continuous(name = "Tooth Length") + 
scale_fill_discrete(name = "Supplement", 
        labels = c("Orange Juice", "Ascorbic Acid")) 

Antwort

1
library(ggplot2) 
ggplot(ToothGrowth, aes(x= as.factor(dose), y=len, fill=supp)) + 
    geom_boxplot() + 
    scale_x_discrete(name = "Dosage", labels = function(x) {paste0(x, "mg")}) + 
    scale_y_continuous(name = "Tooth Length") + 
    scale_fill_discrete(name = "Supplement", 
        labels = c("Orange Juice", "Ascorbic Acid")) 

Ergebnis: enter image description here