棒棒糖图
教程:
https://mp.weixin.qq.com/s?src=11×tamp=1603957858&ver=2673&signature=BHAEPnbtRdeDK-aPOB9OgMwoGPxBSioQjgEB8lRu-MzYowi20ti5g1G6YNJh24K89*yXFqzCmypA8G-UIelTIXYKlJttwsv8r93xni7vGp7-K3TxYiOHqd44cRhCJznu&new=1
棒棒糖图表可以使用ggplot2创建:诀窍是将点的geom_point()与茎的geom_segment()结合起来。参见这个基本示例,了解如何继续进行
![](https://img.haomeiwen.com/i24181854/705aea40d8367f7e.png)
关于加数字这个操作,我觉得有点多余,如果想加可以参考以前的火山图加标签。
在火山图上标记基因(方法一)
https://mp.weixin.qq.com/s/EfiiAxAvqlj-UHz3R2eudg
在火山图上标记基因(方法二)
https://mp.weixin.qq.com/s/K0NpVkkoA9hx17Bg6dEEgw
在火山图上标记基因(方法三)
https://mp.weixin.qq.com/s/kSkA4J49cn_9k8y-JVSPpQ
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)
![](https://img.haomeiwen.com/i24181854/299382ef8c2a0517.png)
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()
![](https://img.haomeiwen.com/i24181854/7384e5bff91b3993.png)
使用coord_flip()函数翻转图表非常简单
#######使用coord_flip()函数翻转图表非常简单
#Libraries
library(ggplot2)
# Create data
data <- data.frame( x=LETTERS[1:26], y=abs(rnorm(26)))
# Horizontal version
ggplot(data, aes(x=x, y=y)) +
geom_segment( aes(x=x, xend=x, y=0, yend=y),
color="skyblue") +
geom_point( color="blue", size=4, alpha=0.6) +
theme_light() +
coord_flip() +
theme( panel.grid.major.y = element_blank(),
panel.border = element_blank(),
axis.ticks.y = element_blank() )
![](https://img.haomeiwen.com/i24181854/8db745840db7695f.png)
加基线 只需更改geom_segment()调用中的y参数
#最后,您可以很容易地更改图表的基线。如果您感兴趣的数据中有一个特定的阈值,那么它将提供更深入的理解。您只需更改geom_segment()调用中的y参数。
# Libraries
library(ggplot2)
# Create data
data <- data.frame( x=LETTERS[1:26], y=abs(rnorm(26)))
# Change baseline
ggplot(data, aes(x=x, y=y)) +
geom_segment( aes(x=x, xend=x, y=1, yend=y), color="grey") +
geom_point( color="orange", size=4) +
theme_light() +
theme( panel.grid.major.x = element_blank(),
panel.border = element_blank(),
axis.ticks.x = element_blank() ) +
xlab("") +
ylab("Value of Y")
![](https://img.haomeiwen.com/i24181854/b9e2d828907a33fe.png)
加基线 翻转图表
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()
![](https://img.haomeiwen.com/i24181854/db2693030042bfb4.png)
网友评论