之前遇到这样一个绘图需求:能够展示一群细胞的两种分类方式的比例;我就联想到一种类似于两个饼状图叠加的方式展示(暂且我就叫双环图吧)。于是搜索了下,相关R包及用法如下
参考教程: https://rpubs.com/cardiomoon/398623
1、安装R包及实例数据
- 安装绘图包
if(!require(devtools)) install.packages("devtools")
devtools::install_github("cardiomoon/moonBook")
devtools::install_github("cardiomoon/webr")
require(ggplot2)
require(moonBook)
require(webr)
- 实例数据:R内置的鸢尾花数据
iris
#取鸢尾花的种类和花瓣长度数据
test=iris[,c(4,5)]
#取花瓣长度的近似最大整数值
test[,1]=ceiling(test[,1])
# setosa versicolor virginica
# 1 50 7 0
# 2 0 43 27
# 3 0 0 23
2、绘图
-
PieDonut()
函数
PieDonut(test,aes(pies=Petal.Width,donuts=Species),
title="Petal width of 3 kinds of flower")
- 该函数还有很多参数可以调整出图细节,例如(具体可参看上面的教程链接)
(1)外环分类的比例修改为实际比例
PieDonut(test,aes(pies=Petal.Width,donuts=Species),
title="Petal width of 3 kinds of flower",
ratioByGroup=FALSE)
(2)外环的标签的位置统一至于环外,加指引线
PieDonut(test,aes(pies=Petal.Width,donuts=Species),
title="Petal width of 3 kinds of flower",
,selected=1,labelposition=1)
(3) 具体某一分类的实例展示效果
PieDonut(test,aes(pies=Petal.Width,donuts=Species),
title="Petal width of 3 kinds of flower",
,selected=1,labelposition=1,
explode=1,explodeDonut=TRUE)
网友评论