Tôi có một tình huống trong đó tôi đang vẽ một chương trình dendrogram với các điểm dữ liệu đi kèm với nhãn lớp. Tôi muốn thấy rằng các nhóm tập hợp kết tụ có cùng một nhãn với nhau. Mã hóa màu các nhãn giúp dễ dàng đọc một chương trình dendrogram như vậy. Có cách nào chúng ta có thể đạt được điều này với ggdendro trong R?Dán nhãn ggdendro lá với nhiều màu sắc
11
A
Trả lời
17
Trộm cắp hầu hết các thiết lập từ this post ...
library(ggplot2)
library(ggdendro)
data(mtcars)
x <- as.matrix(scale(mtcars))
dd.row <- as.dendrogram(hclust(dist(t(x))))
ddata_x <- dendro_data(dd.row)
p2 <- ggplot(segment(ddata_x)) +
geom_segment(aes(x=x, y=y, xend=xend, yend=yend))
... và thêm một yếu tố nhóm ...
labs <- label(ddata_x)
labs$group <- c(rep("Clust1", 5), rep("Clust2", 2), rep("Clust3", 4))
labs
# x y text group
# 1 1 0 carb Clust1
# 2 2 0 wt Clust1
# 3 3 0 hp Clust1
# 4 4 0 cyl Clust1
# 5 5 0 disp Clust1
# 6 6 0 qsec Clust2
# 7 7 0 vs Clust2
# 8 8 0 mpg Clust3
# 9 9 0 drat Clust3
# 10 10 0 am Clust3
# 11 11 0 gear Clust3
... bạn có thể sử dụng aes(colour=)
lập luận để geom_text()
tô màu cho các nhãn của bạn:
p2 + geom_text(data=label(ddata_x),
aes(label=label, x=x, y=0, colour=labs$group))
(Nếu bạn muốn cung cấp màu sắc của riêng bạn, bạn có thể sử dụng scale_colour_manual()
, làm một cái gì đó như thế này:
p2 + geom_text(data=label(ddata_x),
aes(label=label, x=x, y=0, colour=labs$group)) +
scale_colour_manual(values=c("blue", "orange", "darkgreen"))
Các vấn đề liên quan
- 1. Pylab: nhãn bản đồ cho màu sắc
- 2. ncurses nhiều màu sắc trên màn hình
- 3. Seekbar hoặc thanh tiến trình với nhiều màu sắc
- 4. Vẽ khoảng dán nhãn matplotlib/gnuplot
- 5. Lặp lại màu sắc
- 6. CSS riêng biệt cho hộp nhãn dán nhãn đầu vào
- 7. Tìm hiểu màu sắc
- 8. Màu sắc với lệnh unix "watch"?
- 9. Màu sắc nút Java Swing
- 10. Thay đổi màu sắc trong Eclipse Diff
- 11. Dán nhãn trên ô anova trong R
- 12. Texture thiếu màu sắc
- 13. WPF Màu sắc Styling
- 14. Màu sắc trong MathJax
- 15. Màu nhãn Gmail qua API?
- 16. Màu sắc thiết lập màu sắc của nút màu của mặt sau Nút thanh Mục
- 17. Thay đổi màu sắc của trục, ve và nhãn cho một ô trong matplotlib
- 18. vẽ nhiều biểu đồ trong cùng một hình với màu sắc khác nhau trong MATLAB
- 19. Tính giá trị màu từ xanh lá cây sang màu đỏ
- 20. JLabel thay đổi màu sắc
- 21. WPF Nhãn Foreground Màu
- 22. Spacing trong nhãn trục khi sử dụng biểu thức (dán (...))
- 23. Thay đổi màu của nhãn trong JFreeChart
- 24. iOS - màu sắc trên xcode giả là khác nhau từ màu sắc trên thiết bị
- 25. Tránh dán nhãn chồng lên nhau trong Gephi
- 26. Màu sắc VIM trong màn hình & PuTTy?
- 27. git diff show^M với ui màu sắc trung thực
- 28. màu sắc huyền thoại Phù hợp với qplot
- 29. Android - ListView với 2 màu sắc khác nhau
- 30. jQuery animate() không hoạt động với màu sắc
Cảm ơn bạn! Tôi tương đối mới với R, điều này giúp tôi rất nhiều. – chet
Chạy mã của bạn, tôi nhận được 2 lỗi: 1) trong 'geom_segment', nó không thể tìm thấy' x0' nhưng điều này chỉ đơn giản là cố định bằng cách thay đổi các đối số trong 'x = x, y = y, xend = xend, yend = yend'; 2) trong 'geom_text', nó nói:' Không biết cách tự động chọn tỷ lệ cho đối tượng của hàm kiểu. Mặc định liên tục Lỗi trong data.frame (x = c (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11), y = 0, nhãn = hàm (x,: đối số ngụ ý khác nhau số lượng hàng: 11, 1, 0'.Làm thế nào tôi có thể sửa chữa nó? Bởi vì tôi có một trường hợp tương tự để đối phó với (tức là nhãn màu) và cung cấp các lỗi tương tự –
@DavidePassaretti - Với sự giúp đỡ từ Andrie de Vries (** ggdendro ** 's tác giả) và Roland (SO khác thường xuyên), tôi đã chỉnh sửa mã để nó hoạt động với phiên bản hiện tại của ** ggdendro **. Cảm ơn những người đứng đầu rằng câu trả lời này không còn hoạt động nữa –