我有一个关于绘制胆管图的问题。关于绘制带有自定义中断的地图有何建议?并使其看起来更具吸引力。
在我的脚本中,我使用了plot和spplot命令来可视化一些数据,但是我对结果并不完全满意。不难理解原因。使用spplot,我得到了一个颜色渐变,它为不同的值重复颜色,这有点奇怪。将绘图与自定义间隔一起使用时,我无法为这些值设定更好的间隔,例如,零值在地图上为白色。我认为图例和地图之间的比例偏差可能是Rstudio的结果。
所以我想知道是否有人对使用自定义中断在R中绘制Choropleth映射有更好的建议?
编辑20-02-2013
正如建议的那样,我已经使用ggplot2创建了一个Choropleth映射。我用下面的代码。我遇到了两个问题。一种是在加强数据后,并非所有来自shapefile的数据都被传输到数据帧。因此,我必须重命名“ id”变量,以便可以合并数据。次要问题。
一个更大的问题是,尽管事实是数据帧中的数据是正确的,但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()
2015年11月13日更新: 修复了指向形状文件的链接。请参阅下面的答案,以获取有关如何绘制波形图的解决方案。
是的,我不确定使用ggplot2,因为shapefile中的long / lat数据仅指定一个点,而不指定国界。因此,我使用这些图来创建一个Choropleth贴图。我对用R处理GIS数据不是很熟悉,因此不确定我是否忽略了一些非常简单的解决方案。
—
horseoftheyear 2013年
请修复指向shapefile的链接。
—
河豚
好没问题。
—
horseoftheyear
ggplot2
Choropleth贴图,我认为默认情况下看起来效果更好。