棒棒糖图,好吃也好用
2020-09-17 本文已影响0人
小洁忘了怎么分身
0. 需求
群里看到学员求助一个图,画它。
其实就是个点图加棍,棒棒糖图。找到了示例数据和代码:
https://www.r-graph-gallery.com/301-custom-lollipop-chart.html
关于加数字这个操作,我觉得有点多余,如果想加可以参考以前的火山图加标签。
1.示例数据和示例代码
library(tidyverse)
# Create data
data <- data.frame(
x=LETTERS[1:26],
y=abs(rnorm(26))
)
# plot
ggplot(data, aes(x=x, y=y)) +
geom_segment( aes(x=x, xend=x, y=0, yend=y)) +
geom_point( size=5, color="red", fill=alpha("orange", 0.3), alpha=0.7, shape=21, stroke=2)
image.png
2.照葫芦画瓢顺便美化一下
library(tidyverse)
# Create data
data <- data.frame(
x=1:75,
y=abs(rnorm(75,sd = 50)),
group = sample(LETTERS[1:3],75,replace = T)
)
# plot
ggplot(data, aes(x=x, y=y)) +
geom_segment( aes(x=x, xend=x, y=0, yend=y,color = group)) +
geom_point( aes(color = group),size=2, alpha=0.7, stroke=2)+
theme_bw()
3. 大鹏一日同风起,扶摇直上九万里
library(ggplot2)
data <- data.frame(
x=1:25,
y=sort(abs(rnorm(25,sd = 50))),
group = sample(LETTERS[1:3],25,replace = T)
)
# Change baseline
ggplot(data, aes(x=x, y=y)) +
geom_segment( aes(x=x, xend=x, y=50, yend=y), color="grey") +
geom_point( aes(color = group), size=2) +
theme_light() +
theme(
panel.grid.major.x = element_blank(),
panel.border = element_blank(),
axis.ticks.x = element_blank()
) +
xlab("") +
ylab("Value of Y")+
coord_flip()
有意外收获,富集分析上下调基因合并在一张图上表示就是这样画出来的🤩。