欢迎关注R语言数据分析指南
❝本节来介绍如何使用「ggforce」来绘制花瓣图,可以看成venn图的另一种展示方式,下面来看看具体操作
❞
安装并加载R包
package.list=c("tidyverse","showtext","ggforce","MetBrewer","cowplot")
for (package in package.list) {
if (!require(package,character.only=T, quietly=T)) {
install.packages(package)
library(package, character.only=T)
}
}
自定义字体
font_add_google("Fira Sans Condensed")
font_add_google("Saira Semi Condensed")
showtext_opts(dpi = 300)
showtext_auto(enable = TRUE)
f1="Fira Sans Condensed"
f2="Saira Semi Condensed"
加载数据
df <- read_tsv("df.xls")
数据清洗
df1 <- df %>% mutate(id=row_number(),angle=51.4285*id,radians=angle*pi/180,
x0=n*cos(radians),y0=n*sin(radians))
选择调色板
met.brewer(name="VanGogh2",n=7,type="discrete")
❝可从下述网站获取12进制代码
❞
https://observablehq.com/@fil/metbrewer-color-schemes#met
绘制图形
p <- df1 %>%ggplot(aes(x=environment, y=n, fill=fct_rev(environment))) +
geom_ellipse(aes(x0=x0, y0=y0, a=n,b=n/2,angle = radians,
fill = fct_rev(environment)),color="white") +
scale_fill_manual(values= rev(c("#bd3106","#5b7314","#454b87","#d9700e","#89a6bb","#eebe04","#c3d6ce","#e9a00e"))) +
coord_fixed(clip="off") +cowplot::theme_map(15) +
theme(legend.position="none",plot.margin=margin(.2,0,.5,0,unit="cm"))
添加文本
p+ draw_label("Forest\n\n100", x=-20, y=100, fontfamily = f1, color="white", size=13) +
draw_label("Savanna\n\nWoodland\n\n85", x=-20, y=-100, fontfamily = f1, color="white",size=13) +
draw_label("Wetland\n\n60", x=70, y=-0, fontfamily = f1, color="black",size=13) +
draw_label("Stream\n\nEdge\n\n63", x=50, y=-60, fontfamily = f1, color="black",size=13) +
draw_label("Prairie\n\n97", x=-80, y=-40, fontfamily = f1, color="black",size=13) +
draw_label("Glade\n\n52", x=-70, y=25, fontfamily = f1, color="white",size=13) +
draw_label("Cliff\n\n12", x=55, y=50, fontfamily = f1, color="#381a61",size=13) +
draw_line(x=c(10,45), y=c(10,50), color="#381a61", size=.7)
本节的内容到此结束,可以看到展示效果还是蛮优雅的,喜欢的小伙伴欢迎转发此文档附上一句话到朋友圈「30分钟后台截图给我」,即可获取对应的数据及代码,如未及时回复可添加我的微信
欢迎大家扫描下方二位码加入「QQ交流群」,与全国各地上千位小伙伴交流

「关注下方公众号下回更新不迷路」,如需要加入微信交流群可添加小编微信,请备注单位+方向+姓名
往期推荐

