我使用以下代码绘制了地图。
#plot map
map("worldHires", "Canada", col="grey80", fill=TRUE, projection="gilbert", orientation= c(90,0,225))
lon <- c(-72, -66, -107, -154) #fake longitude vector
lat <- c(81.7, 64.6, 68.3, 60) #fake latitude vector
coord <- mapproject(lon, lat, projection="gilbert", orientation=c(90, 0, 225))
points(coord, pch=20, cex=2, col="red")
然后尝试使用以下代码绘制饼图
#plot pie
add.pie(z=c(10,60), x=83, y=-72, radius=1, col=c("orange", "red"), labels="l")
xyz <- make.xyz(lon[1],lat[1],100,200)
add.pie(z=xyz$z, x=xyz$x, y=xyz$y, radius=0.3, col=c("orange", "blue"), labels="", edges=200)
add.pie(z=rpois(4,10), x=lon[1]+5, y=lat[1]+5, radius=0.3, col=c("orange", "blue"), labels="", edges=200)
所有这些代码执行正常,但没有人在我绘制的地图上呈现饼图。
有谁知道我在这里可能会缺少什么。我知道我可以在我的地图上绘图,因为如果我运行更多points()
命令,我能够看到这些点重叠。
答案 0 :(得分:0)
要在可以看到饼图的地方绘制它,您可以尝试下面的代码。这为您提供了一个开始的地方,但不是对正在发生的事情的解释。
library(maps)
library(mapproj)
library(mapdata)
library(mapplots)
map("worldHires", "Canada", col="grey80", fill=TRUE, projection="gilbert", orientation= c(90,0,225))
lon <- c(-72, -66, -107, -154) #fake longitude vector
lat <- c(81.7, 64.6, 68.3, 60) #fake latitude vector
coord <- mapproject(lon, lat, projection="gilbert", orientation=c(90, 0, 225))
points(coord, pch=20, cex=2, col="red")
根据您使用上述coord
的方式添加饼图,并使用文档示例设置z。
coord2 <- mapproject(-72, 83, projection = "gilbert", orientation=c(90, 0, 225))
add.pie(z=rpois(6,10), x=coord2$x, y=coord2$y, radius = 0.05)