首先用library函数加载ggplot2包
library(ggplot2) library(dplyr) library(tidyr) library(splines)
接下来,进行数据准备:
df <- data.frame( var=LETTERS[1:3],
id=1:3, a=c(0.25,0,35,0,4), stringsAsFactors = F #不转换为因子 )
我们已经有了一个一维数组,而data.frame是将这个数组转换为二维,print的结果是这样的:
var id rate 1 A 1 0.25 2 B 2 0.35 3 C 3 0.40
接下来,用一个函数画饼图:
ggplot(df,aes(x=factor(1),rate,fill=factor(var)))+ geom_bar(stat="identity",position="fill")+ coord_polar(theta="y")+ # 按Y轴极坐标转换 labs(title="饼图")
factor(1)指的是将x的值以相同的参数设定,这里设为factor(1)。
用‘+’设置其他参数,标题,变量名,比例等。
stat='identity'是设置颜色,这里是系统自有的颜色。
最后效果如图: