簡體   English   中英

如何在ggplot2中對boxplot標簽重新排序

[英]How to reorder boxplot labels in ggplot2

  1. 我想繪制沒有NA的第一個圖,並按中位數排序。 我想我可以通過使用na.omit和下面的code1來做到這一點。

  2. 如何通過保留圖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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM