R语言绘制跑道图

什么是跑道图?

跑道图(Circle Track)是一种以圆形轨道的形式展示数据的图表。它通常用于显示一组正值数据,通过数据的数值大小来决定每个数据点在图上的位置,呈现出类似跑道的布局。

其实就是普通的柱形图,放到圆形布局里面。

绘图所需数据

第一列为名称,第二列为数据。

R语言绘制跑道图

# 来源 https://www.r2omics.cn/
library(ggplot2)

# 创建数据框 df,包含两列:类别 (category) 和数值 (value)
df = data.frame(
  category = c("Gene body", "5'UTR", "TSS1500", "TSS200", "1st exon", "3'UTR"),
  value = c(30, 25, 20, 12, 8, 5)
)

# 绘图
ggplot(df,aes(x=category,y=value,fill=category)) +
  geom_bar(stat="identity") +
  geom_text(aes(label=paste0(category," (",value,")  "),y=0), hjust=1) +  # 在每个条形的底部显示标签:类别和值
  coord_polar(theta = "y", start = 0) +          # 将条形图转换为极坐标图,theta="y"表示按 y 轴的数值进行旋转,start=0从顶部开始
  ggstyle::scale_fill_sci(palette="rainbow1") +  # 设置填充颜色的调色板,这里使用“rainbow1”颜色
  ylim(0, max(df$value)/0.75) +                  # 设置y轴的显示范围,在0-270度的范围内绘图
  theme_void()