阴阳鱼图从图形的角度看实际上就是饼图的组合,因此可以借助pie()函数绘制。但由于pie()函数默认画图位置为画图区域的中心,因此只能以饼图作为一个背景打底,其余不同位置上的圆形则借由polygon()函数绘制。
实操如下:
par(bg="grey")#设置背景为灰色,以突出层次感 pie(1,labels="",col="black",radius=1,border=NA)#黑色饼图打底,半径为1 t0<-seq(90,270,5)/180*pi x<-cos(t0) y<-sin(t0) polygon(x,y,col="white",border="white")#将饼图进行分割为阴鱼鱼身和阳鱼鱼身 t1<-seq(0,360,5)/180*pi x1<-0.5*cos(t1) y1<-0.5*sin(t1)+0.5 polygon(x1,y1,col="black",border="black")#阴鱼鱼头,也出现了阳鱼鱼尾 x2<-0.5*cos(t1) y2<-0.5*sin(t1)-0.5 polygon(x2,y2,col="white",border=NA)#阳鱼鱼头,也出现了阴鱼鱼尾 x3<-0.1*cos(t1) y3<-0.1*sin(t1)+0.5 polygon(x3,y3,col="white",border="white")#阴鱼鱼眼 x4<-0.1*cos(t1) y4<-0.1*sin(t1)-0.5 polygon(x4,y4,col="black",border="black")#阳鱼鱼眼
最终效果如下: