大数跨境
0
0

ggplot2绘制美美的花瓣图

ggplot2绘制美美的花瓣图 R语言数据分析指南
2022-04-05
0

欢迎关注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交流群」,与全国各地上千位小伙伴交流

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

往期推荐


ggplot2绘制美美的月亮图

手把手教你用OTU表绘制物种组成图

ggplot2绘制美美的棒棒糖图

一行代码优雅的结合饼图与甜甜圈图

MetBrewer一个让你爱不释手的调色板

ggtree优雅的绘制系统发育树(3)

ggtree优雅的绘制系统发育树(2)

ggtree优雅的绘制系统发育树(1)

ggplot2优雅的绘制分类条形图

ggplot2优雅的绘制径向条形图

ggplot2优雅的绘制配对箱

ggplot2优雅的绘制曲面条形图

ggplot2优雅的绘制哑铃图(增强版)

ggplot2优雅绘制小清新版箱线图

genoPlotR绘制基因结构图

使用ggbump带你绘制更加精美的地图

【声明】内容源于网络
0
0
R语言数据分析指南
R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
内容 1180
粉丝 0
R语言数据分析指南 R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
总阅读410
粉丝0
内容1.2k