c++可视化_R语言之可视化(26)ggplot2绘制饼图

目录

R语言之可视化①误差棒

R语言之可视化②点图

R语言之可视化③点图续

R语言之可视化④点韦恩图upsetR

R语言之可视化⑤R图形系统

R语言之可视化⑥R图形系统续

R语言之可视化⑦easyGgplot2散点图

R语言之可视化⑧easyGgplot2散点图续

R语言之可视化⑨火山图

R语言之可视化⑩坐标系统

R语言之可视化①①热图绘制heatmap

R语言之可视化①②热图绘制2

R语言之可视化①③散点图+拟合曲线

R语言之可视化①④一页多图(1)

R语言之可视化①⑤ROC曲线

R语言之可视化①⑥一页多图(2)

R语言之可视化①⑦调色板

R语言之可视化①⑧子图组合patchwork包

R语言之可视化①⑨之ggplot2中的图例修改

R语言之可视化(20)之geom_label()和geom_text()

R语言之可视化(21)令人眼前一亮的颜色包

R语言之可视化(22)绘制堆积条形图

R语言之可视化(23)高亮某一元素

R语言之可视化(24)生成带P值得箱线图

R语言之可视化(25)绘制相关图(ggcorr包)

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

本文主要使用函数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

v2-b58a0356aec89d4b63c2a8b554d7b2b6_b.jpg

生成一个原始饼图

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

v2-42fd75227aad66f202d0472c677cb053_b.jpg

更改饼图填充颜色

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

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

v2-1c61532806c8bc239f22f9c450b181cd_b.jpg
# use brewer color palettes
pie + scale_fill_brewer(palette="Dark2")

v2-d2753ece4bc1c650170badfd2edaa195_b.jpg
pie + scale_fill_brewer(palette="Blues")+
  theme_minimal()

v2-5ab62b37b5e5b7a1c97a530e2d79c028_b.jpg
# Use grey scale
pie + scale_fill_grey() + theme_minimal()

v2-cf4768c95fb55c1e7891698222f7c9ac_b.jpg

使用因子变量创建饼图

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")

v2-72e367e28d4d49c5a64068bcd4c5e477_b.jpg

自定义饼图

创建一个空白主题:

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)

v2-71c9d578f6b79537ba89ec3a4e1eb49c_b.jpg
# 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)

v2-00ef8a68f6c3c9e391c04e0e4e95ea8b_b.jpg
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值