[英]How to reorder boxplot labels in ggplot2
我想繪制沒有NA的第一個圖,並按中位數排序。 我想我可以通過使用na.omit和下面的code1來做到這一點。
如何通過保留圖1中的圖形(carA和carC)並保持與圖1相同的順序來繪制第二個圖形。
一種
R G T
EG1 2 20 carA
EG2 4 40 carA
EG3 8 80 carA
EG4 10 100 carA
EG5 NA 20 carB
EG6 NA 40 carB
EG7 NA 50 carB
EG8 NA 90 carB
EG9 4 50 carC
EG10 8 60 carC
EG11 12 70 carC
EG12 24 90 carC
代碼1
ggplot(a, aes(reorder(T, log2(R+1), median, order=TRUE), log2(R+1), fill=T)) + geom_boxplot()+coord_flip()
代碼2
ggplot(a, aes(reorder(T, log2(G+1), median, order=TRUE), log2(G+1), fill=T)) + geom_boxplot()+coord_flip()
您需要從第一個繪圖中捕獲順序,並使用它通過scale_x_discrete
(由於coord_flip
)在第二個繪圖中設置限制。
limits <- levels(reorder(a$T, log2(a$R + 1)))
ggplot(a, aes(reorder(T, log2(R + 1), median, order = TRUE), log2(R + 1), fill = T)) +
geom_boxplot() +
coord_flip() +
scale_x_discrete(limits = limits)
ggplot(a, aes(reorder(T, log2(G + 1), median, order = TRUE), log2(G + 1), fill = T)) +
geom_boxplot() +
coord_flip() +
scale_x_discrete(limits = limits)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.