r - 如何通过点类型区分 geom_point 图中的组
问题描述
我有一个数据框,它有两种不同的样本类型(A 和 B)。我想通过使用不同的shape
选项来区分这些。这是一个数据框和我目前执行此操作的尝试。
dput(head(df)) 的输出
structure(list(Mean.Count = c(30404.8407153174, 15689.4221807262, 30404.8407153174, 15689.4221807262),
Log2FC = c(-0.00357013689574257, -0.00417251481039714, 0.306809506669248, 0.224653107007472),
Adj.P.Value = c(0.988865360408676, 0.981816989495127, 0.00202882891738576,
2.72576774009609e-05),
TimeKD = c("A", "A", "B", "B"),
Gene = c("HSPA5","MYH9", "HSPA5", "MYH9")),
row.names = c("HSPA5", "MYH9", "HSPA51", "MYH91"),
class = "data.frame")
当前尝试
ggplot(df, aes(x = Gene, y = Log2FC, group=TimeKD)) +
geom_point(aes(color = -Adj.P.Value, size = Mean.Count), alpha = 0.5)+
coord_flip() +
scale_colour_gradientn(
colours = grDevices::colorRampPalette(c("black", "cyan", "violet"))(n = 200),
values = NULL,
space = "Lab",
na.value = "grey50",
guide = "colourbar",
aesthetics = "colour"
)
目前 A 和 B 样本都是圆形。我可以ggplot2
用来将其中一个变成另一种形状吗?
任何帮助,将不胜感激。
解决方案
您可以像这样添加shape = TimeKD
到通话aes
中...geom_point
ggplot(df, aes(x = Gene, y = Log2FC, group=TimeKD)) +
geom_point(aes(color = -Adj.P.Value,
size = Mean.Count,
shape = TimeKD), # <-- Right here!
alpha = 0.5)+
coord_flip() +
scale_colour_gradientn(
colours = grDevices::colorRampPalette(c("black", "cyan", "violet"))(n = 200),
values = NULL,
space = "Lab",
na.value = "grey50",
guide = "colourbar",
aesthetics = "colour"
)
看起来像这样......
推荐阅读
- javascript - JS中的变量是对象吗
- c++ - 如何在 C++ 中使用矢量打印出特定员工的记录?
- c++ - 如何在普通数组的单元格中插入结构或指针?C++
- javascript - 如何通过在javascript中调用函数在对象内添加属性
- javascript - 如果选中其他单选按钮,请检查单选按钮
- html - 类型号不适用于小数位
- css - 在我的情况下,我必须为一行使用 5 col-md,另一个 col-md 需要在没有打开行的情况下进入下一行
- python - 如何将 dict keyx:valuex 列表转换为 dict key:keyx, value:valuex 列表?
- vue-material - 未在 Vue Material md-tabs 中列出的页面会抛出“未捕获的类型错误:无法读取属性 'parentNode' of null”
- matplotlib - 我可以反转matplotlib的pcolormesh的过程吗?