首先用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'是设置颜色,这里是系统自有的颜色。

最后效果如图:

用ggplot包画一个简单饼图-LMLPHP

 

  

05-14 23:08