Sử dụng ggplot2 lớn Hadley và cuốn sách của ông, tôi có thể sản xuất lô đồ choropleth đơn một cách dễ dàng, sử dụng mã như thế này:Lưới với bản đồ choropleth trong ggplot2
states.df <- map_data("state")
states.df = subset(states.df,group!=8) # get rid of DC
states.df$st <- state.abb[match(states.df$region,tolower(state.name))] # attach state abbreviations
states.df$value = value[states.df$st]
p = qplot(long, lat, data = states.df, group = group, fill = value, geom = "polygon", xlab="", ylab="", main=main) + opts(axis.text.y=theme_blank(), axis.text.x=theme_blank(), axis.ticks = theme_blank()) + scale_fill_continuous (name)
p2 = p + geom_path(data=states.df, color = "white", alpha = 0.4, fill = NA) + coord_map(project="polyconic")
đâu " giá trị "là vectơ của dữ liệu cấp trạng thái mà tôi đang vẽ. Nhưng nếu tôi muốn vẽ nhiều bản đồ, được nhóm lại bởi một số biến (hoặc hai)?
Dưới đây là một ví dụ về một plot done by Andrew Gelman, later adapted in the New York Times, về quan điểm chăm sóc sức khỏe ở các bang:
Tôi rất muốn để có thể bắt chước ví dụ này: lô chương choropleth chấn chia vạch theo hai biến (hoặc thậm chí một). Vì vậy, tôi vượt qua không phải là một vector của các giá trị, mà là một khung dữ liệu được tổ chức "dài", với nhiều mục nhập cho mỗi trạng thái.
Tôi biết ggplot2 có thể làm điều này, nhưng tôi không chắc chắn như thế nào. Cảm ơn!
Tác phẩm này hoạt động. Điều quan trọng là lệnh phối hợp mở rộng khung dữ liệu đang nổi lên từ map_data, và sau đó tùy chọn facet_wrap hoạt động chính xác theo cách nó sẽ cho ggplot2. Cảm ơn! – bshor