我想用ggplot2
创建一个箱形图,我想按照数据框的顺序组织绘图,例如
我知道R按字母顺序组织箱形图。我怎么能:
- 按照Taste - Color - Capacity
的顺序组织X轴- 切换方框,即先是绿色,然后是橙色,而不是橙色和绿色
- 也切换图例顺序,先是NaCl,然后是O_ {2}
醇>
library(ggplot2)
library(readxl)
Chemical <- rep(c("NaCl", "Al2"), times = 3, each = 4)
Quality <- rep(c("Taste", "Color of package", "Capacity"), times = 1, each = 8)
Accepted <- seq(0, 100, by = 100/23)
DF <- data.frame(Chemical, Quality, Accepted)
ggplot(DF, aes(x = Quality, y = Accepted, fill = Chemical)) +
geom_boxplot() +
scale_fill_manual(values = c("orange", "green"),
labels = expression("Al"[2], "NaCl")) +
xlab("") +
theme(legend.position = "top", legend.title = element_blank())
答案 0 :(得分:1)
您可以使用不同的方法来控制输出。一个快速的解决方案是:
ggplot(DF, aes(x = Quality, y = Accepted, fill = Chemical)) +
geom_boxplot() +
scale_fill_manual(values = c("green", "orange"),
labels = expression("Al"[2], "NaCl")) +
xlab("") +
theme(legend.position = "top", legend.title = element_blank()) +
guides(fill=guide_legend(reverse=TRUE)) +
scale_x_discrete(limits=c("Taste", "Color of package", "Capacity"))
只需使用参数guides(fill=guide_legend(reverse=TRUE))
,即可手动更改颜色的顺序并使用scale_x_discrete
在X轴上修复特定订单。
也可以使用DF$Quality <- factor (DF$Quality, levels = c ("Taste", "Color of package", "Capacity"))
对关卡进行重新排序,并在不使用scale_x_discrete()
的情况下获得相同的结果。