Tôi đã thử nhiều cách để có được một biểu đồ hình tròn trong ggplot2 để thay đổi chiều rộng/bán kính theo biến khác (cường độ).Biểu đồ hình tròn trong ggplot2 có kích thước bánh biến đổi
geom_bar chấp nhận chiều rộng = 0,5 làm thông số nhưng nó bị bỏ qua khi được thêm coord_polar
. Adding width=0.5
đến ggplot aes
hoặc thêm aes
đến geom_bar
không hoạt động. Tôi không thể thấy bất kỳ tùy chọn nào khác có liên quan cho coord_polar
. Cách dễ nhất để làm điều này là gì? Đoạn mã dưới đây tạo ra một mạng lưới các biểu đồ hình tròn đẹp mắt nhưng không thay đổi kích thước của biểu đồ hình tròn. Tôi đang thiếu gì?
mydata <- data.frame(side1=rep(LETTERS[1:3],3,each=9),side2=rep(LETTERS[1:3],9,each=3),widget=rep(c("X","Y","Z"),9*3),val=runif(9*3),strength=rep(c(1,2,3),3,each=3))
ggplot(mydata, aes(x="",y = val, fill = widget, width = strength)) +
geom_bar(position="fill") + facet_grid(side1 ~ side2) +
coord_polar("y") + opts(axis.text.x = theme_blank())
Đó chính xác là nó! Làm cho cảm giác bây giờ, các thanh phải được căn trái trong một hệ thống không cực. Tôi vẫn còn một chút không rõ ràng về lý do tại sao sức mạnh/2 là số ma thuật, nhưng sẽ phải làm một số chi tiết đọc về cách aes xử lý x giá trị trong geom_bar. – hurfdurf