首先用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'是设置颜色,这里是系统自有的颜色。
最后效果如图: