前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言之可视化(26)ggplot2绘制饼图

R语言之可视化(26)ggplot2绘制饼图

作者头像
用户1359560
发布2019-08-20 16:23:43
8.6K0
发布2019-08-20 16:23:43
举报
文章被收录于专栏:生信小驿站生信小驿站

本文主要使用函数coord_polar()用于生成饼图,它只是极坐标中的堆积条形图。

原始饼图

创建数据:

df <- data.frame(
  group = c("Male", "Female", "Child"),
  value = c(25, 25, 50)
  )
head(df)
##    group value
## 1   Male    25
## 2 Female    25
## 3  Child    50

首先使用柱状图来做可视化

library(ggplot2)
# Barplot
bp<- ggplot(df, aes(x="", y=value, fill=group))+
geom_bar(width = 1, stat = "identity")
bp

生成一个原始饼图

pie <- bp + coord_polar("y", start=0)
pie

更改饼图填充颜色

可以使用以下函数手动更改饼图填充颜色

    • scale_fill_manual()*:使用自定义颜色
    • scale_fill_brewer():使用来自 RColorBrewer *包的调色板
    • scale_fill_grey()*:使用灰色调色板
# Use custom color palettes
pie + scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"))
# use brewer color palettes
pie + scale_fill_brewer(palette="Dark2")
pie + scale_fill_brewer(palette="Blues")+
  theme_minimal()
# Use grey scale
pie + scale_fill_grey() + theme_minimal()

使用因子变量创建饼图

head(PlantGrowth)

##   weight group
## 1   4.17  ctrl
## 2   5.58  ctrl
## 3   5.18  ctrl
## 4   6.11  ctrl
## 5   4.50  ctrl
## 6   4.61  ctrl

创建每组中观察计数的饼图:

ggplot(PlantGrowth, aes(x=factor(1), fill=group))+
  geom_bar(width = 1)+
  coord_polar("y")

自定义饼图

创建一个空白主题:

blank_theme <- theme_minimal()+
  theme(
  axis.title.x = element_blank(),
  axis.title.y = element_blank(),
  panel.border = element_blank(),
  panel.grid=element_blank(),
  axis.ticks = element_blank(),
  plot.title=element_text(size=14, face="bold")
  )

1.应用空白主题 2.删除轴刻度标记 3.添加文本注释

# Apply blank theme
library(scales)
pie + scale_fill_grey() +  blank_theme +
  theme(axis.text.x=element_blank()) +
  geom_text(aes(y = value/3 + c(0, cumsum(value)[-length(value)]), 
            label = percent(value/100)), size=5)
# Use brewer palette
pie + scale_fill_brewer("Blues") + blank_theme +
  theme(axis.text.x=element_blank())+
  geom_text(aes(y = value/3 + c(0, cumsum(value)[-length(value)]), 
                label = percent(value/100)), size=5)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.08.16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原始饼图
  • 更改饼图填充颜色
  • 使用因子变量创建饼图
  • 自定义饼图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档