Sắp xếp lại các thanh trong geom_bar ggplot2


119

Tôi đang cố gắng tạo một biểu đồ thanh trong đó âm mưu được sắp xếp từ miRNAmức cao nhất valueđến miRNAmức thấp nhất. Tại sao mã của tôi không hoạt động?

> head(corr.m)

        miRNA         variable value
1    mmu-miR-532-3p      pos     7
2    mmu-miR-1983        pos    75
3    mmu-miR-301a-3p     pos    70
4    mmu-miR-96-5p       pos     5
5    mmu-miR-139-5p      pos    10
6    mmu-miR-5097        pos    47

ggplot(corr.m, aes(x=reorder(miRNA, value), y=value, fill=variable)) + 
  geom_bar(stat="identity")

Câu trả lời:


216

Mã của bạn hoạt động tốt, ngoại trừ việc mã vạch được sắp xếp từ thấp đến cao. Khi bạn muốn thứ tự các thanh từ cao xuống thấp, bạn sẽ phải thêm một -dấu hiệu trước value:

ggplot(corr.m, aes(x = reorder(miRNA, -value), y = value, fill = variable)) + 
  geom_bar(stat = "identity")

mang lại:

nhập mô tả hình ảnh ở đây


Dữ liệu đã sử dụng:

corr.m <- structure(list(miRNA = structure(c(5L, 2L, 3L, 6L, 1L, 4L), .Label = c("mmu-miR-139-5p", "mmu-miR-1983", "mmu-miR-301a-3p", "mmu-miR-5097", "mmu-miR-532-3p", "mmu-miR-96-5p"), class = "factor"),
                         variable = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "pos", class = "factor"),
                         value = c(7L, 75L, 70L, 5L, 10L, 47L)),
                    class = "data.frame", row.names = c("1", "2", "3", "4", "5", "6"))

nó không được sắp xếp theo cốt truyện của tôi đối với một số lý do
user3741035

@ user3741035 Lạ. Bạn đã sử dụng nó trên tập dữ liệu mẫu mà bạn đã cung cấp ở trên hay trên toàn bộ tập dữ liệu?
Jaap

Bạn đang sử dụng phiên bản R & ggplot nào? Bạn cũng có thể yêu thích một tập dữ liệu mẫu lớn hơn (tốt hơn là có nhiều hơn một giá trị cho variable)?
Jaap

6
tìm thấy các giải pháp: Tôi có thư viện được nạp (gplots) mà sai lầm thứ
user3741035

1
@maycca Nó cho tôi kết quả chính xác (trên cả OSX 10.10.4 / Windows 7, R 3.2.3 & ggplot2 2.1.0). Có lẽ bạn nên bắt đầu với một phiên mới?
Jaap
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.