我想添加多彩点的点,其中一半是蓝色的。一半是红色的。如果可能的话,我希望能够使用超过2种颜色,例如4个季度,每种颜色都有颜色。 那可能吗?
我知道我可以叠加几个不同大小的点,每个点都有一个颜色,从而形成一个同心的五彩点。但这不是我所追求的。
对于上下文,我将这些点用于地图中的城市。 这是一个小例子,每个城市都有一个单一的点。但我希望每个城市都有一个有两个半点的点,每一个都有一个颜色。
require(ggmap);
citiesnames=c("Madrid","Toledo","Valencia","Granada")
cities=str_c(citiesnames,"Spain",sep=", ");
geo=geocode(cities);
lon=geo$lon;
lat=geo$lat;
coord=mapproject(lon, lat,proj="mercator");
map("world","Spain",fill=T,col="ivory",proj="mercator");
points(coord$x[1], coord$y[1], pch=16, cex=1.2, col="black")
points(coord$x[2],coord$y[2], pch=16, cex=1.2, col="red")
points(coord$x[3], coord$y[3], pch=16, cex=1.2, col="blue")
points(coord$x[4], coord$y[4], pch=16, cex=1.2, col="green4")
非常感谢任何帮助。
答案 0 :(得分:0)
正如我在评论中提到的,你可以参考这个post做你想做的事。出于文档目的,我添加了一个解决问题的答案:
您可以使用以下两个功能将两个半圆(饼图)添加到图表中:
upper.half.circle <- function(x,y,r,nsteps=100,...){
rs <- seq(0,pi,len=nsteps)
xc <- x+r*cos(rs)
yc <- y+r*sin(rs)
polygon(xc,yc,...)
}
lower.half.circle <- function(x,y,r,nsteps=100,...){
rs <- seq(0,pi,len=nsteps)
xc <- x-r*cos(rs)
yc <- y-r*sin(rs)
polygon(xc,yc,...)
}
稍后当你进行驾驶时,你应该设置asp = 1
来获得半圈。
plot(1, type="n",axes=F,xlab="", ylab="",xlim=c(0,200),ylim=c(0,200), asp = 1)
upper.half.circle(15,170,10,nsteps=1000,col='red')
lower.half.circle(15,170,10,nsteps=1000,col='blue')
以下是此代码的结果:
您可以稍后编辑小说以获取季度或任何您需要的小说。