Tôi có một câu hỏi liên quan đến việc vẽ sơ đồ choropleth. Điều gì được khuyến nghị liên quan đến việc vẽ sơ đồ với các khoảng nghỉ tùy chỉnh? Và làm cho nó trông hấp dẫn một chút.
Trong kịch bản của tôi, tôi đã sử dụng lệnh cốt truyện và spplot để trực quan hóa một số dữ liệu nhưng tôi không hoàn toàn hài lòng với kết quả này. Nó rất dễ dàng để xem lý do tại sao. Sử dụng spplot tôi nhận được một đoạn màu lặp lại các màu cho các giá trị khác nhau, điều này hơi lạ. Sử dụng cốt truyện với các khoảng nghỉ tùy chỉnh Tôi không thể tạo ra các khoảng thời gian tốt hơn cho các giá trị, ví dụ như các giá trị 0 có màu trắng trên bản đồ. Tỷ lệ sai lệch giữa truyền thuyết và bản đồ là tôi nghĩ có lẽ là kết quả của Rstudio.
Vì vậy, tôi tự hỏi liệu ai đó có đề xuất tốt hơn cho việc vẽ sơ đồ choropleth trong R bằng cách sử dụng ngắt tùy chỉnh?
EDIT 20-02-2013
Theo đề xuất, tôi đã sử dụng ggplot2 để tạo bản đồ choropleth. Tôi đã sử dụng mã dưới đây. Tôi gặp hai vấn đề. Một là sau khi củng cố dữ liệu, không phải tất cả dữ liệu từ shapefile được chuyển vào khung dữ liệu. Vì vậy, tôi phải đổi tên biến "id" để có thể hợp nhất dữ liệu. Vấn đề nhỏ.
Một vấn đề lớn hơn là mặc dù thực tế là dữ liệu trong khung dữ liệu là chính xác, ggplot hiển thị bản đồ nơi dữ liệu không chính xác. Giá trị màu theo chú giải không tương ứng với giá trị của biến trong dữ liệu. Tôi đang nhìn gì đó ở đây?
# Plotting polygon shapefiles (try-out)
# Load the packages
require(rgdal)
require(maptools)
require(ggplot2)
gpclibPermit() # required for the fortify method
# Load the shapefile
africa=readOGR("/home/GIS",layer="africaII")
names(africa)
# Load the data on conflict
conflict<-read.csv("africa_conflict.csv", header=TRUE)
names(conflict)
# Merge the data together
africadat<-merge(africa, conflict, by="ISO3")
# Changing the data in the shapefile
africa@data <- africadat
# Fortify so that ggplot can plot
africa.points = fortify(africa,region="ISO3")
# Change "id" to "ISO3"such that the datasets can be merged again
names(africa.points)[names(africa.points)=="id"]<-"ISO3"
africa.df=merge(africa.points,africadat,by="ISO3")
# Plot the data
ggplot(africa.df) +
aes(long,lat,group=group) +
geom_polygon(aes(fill =onset))+
geom_path(color="white") +
coord_equal()
Cập nhật 13-11-2015: Đã sửa lỗi liên kết đến hình dạng tệp . Xem câu trả lời dưới đây để biết giải pháp về cách vẽ biểu đồ hợp xướng.
ggplot2
cho các bản đồ choropleth, mà tôi nghĩ rằng hóa ra đầu ra nhìn tốt hơn theo mặc định.