ฉันมีคำถามเกี่ยวกับการพล็อตแผนที่เป็นนักร้อง สิ่งที่แนะนำเกี่ยวกับการพล็อตแผนที่ด้วยตัวแบ่งที่กำหนดเอง? และทำให้ดูน่าสนใจขึ้นมาหน่อย
ในสคริปต์ของฉันฉันใช้คำสั่ง plot และ spplot เพื่อแสดงข้อมูลบางอย่าง แต่ฉันไม่พอใจกับผลลัพธ์ทั้งหมด มันง่ายที่จะดูว่าทำไม ใช้spplotฉันได้รับทางลาดสีที่ทำซ้ำสีสำหรับค่าที่แตกต่างซึ่งเป็นบิตแปลก การใช้พล็อตที่มีตัวแบ่งที่กำหนดเองฉันไม่สามารถทำให้ช่วงเวลาที่ดีขึ้นสำหรับค่าเช่นว่าค่าศูนย์เป็นสีขาวบนแผนที่ ฉันคิดว่าสัดส่วนที่เบ้ระหว่างคำอธิบายแผนภูมิและแผนที่อาจเป็นผลมาจาก Rstudio
ดังนั้นฉันสงสัยว่ามีใครบางคนมีคำแนะนำที่ดีกว่าสำหรับการวางแผนแผนที่ choropleth ใน R โดยใช้ตัวแบ่งที่กำหนดเองหรือไม่?
แก้ไข 20-02-2013
ตามที่แนะนำฉันได้ใช้ ggplot2 เพื่อสร้างแผนที่ choropleth ฉันใช้รหัสด้านล่าง ฉันพบปัญหาสองข้อ หนึ่งคือหลังจากเสริมข้อมูลไม่ได้ข้อมูลทั้งหมดจาก shapefile จะถูกโอนไปยังกรอบข้อมูล ดังนั้นฉันต้องเปลี่ยนชื่อตัวแปร "id" เพื่อที่ฉันจะได้รวมข้อมูล ปัญหาเล็กน้อย
ปัญหาที่ใหญ่กว่าคือแม้ว่าข้อเท็จจริงที่ว่าข้อมูลใน dataframe นั้นถูกต้อง ggplot จะแสดงแผนที่ที่ข้อมูลไม่ถูกต้อง ค่าสีตามคำอธิบายไม่สอดคล้องกับค่าของตัวแปรในข้อมูล ฉันมองอะไรบางอย่างที่นี่
# 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()
ปรับปรุง 13-11-2015: การเชื่อมโยงถาวรเพื่อไฟล์รูป ดูคำตอบด้านล่างสำหรับวิธีแก้ปัญหาเกี่ยวกับวิธีการเขียน choropleth
ggplot2
แผนที่ choropleth ด้วยซึ่งฉันคิดว่าผลลัพธ์ที่ออกมาดูดีกว่าโดยปริยาย