1

我正在尝试使用点图来表达样本数据和样本元数据。这两个数据都是连续的数字数据,并被分组到几个加入中。不幸的是,除非我使用 factor() 将其更改为分类数据,否则我无法让连续的“年龄”数据在 geom_dotplot 中工作,我不知道为什么

samples.GN.df<- data.frame(
    Protein1 = sample(1:30),
    Accession = sample(c("yes", "no"), 30, replace = TRUE),
    Age = sample(10:39)
    )

这不起作用:

ggplot(samples.GN.df, aes(y=Protein1, x=Accession))+
   geom_dotplot(binaxis = 'y', stackdir = 'center', mapping = aes(fill = Age))

确实如此(尽管这些点不再整齐地堆叠,但我可以在接下来解决这个问题):

ggplot(samples.GN.df, aes(y=Protein1, x=Accession))+
   geom_dotplot(binaxis = 'y', stackdir = 'center', mapping = aes(fill = factor(Age)))

我已经尝试了各种方法让它作为连续数据而不是离散数据工作,但无济于事,它只是显示为全黑,甚至没有错误消息指出我正确的方向。

对此的任何帮助将不胜感激!

(编辑添加示例数据)

4

1 回答 1

1

您可以将一个组添加到主映射和连续填充映射到 geom_dotplot:

ggplot(samples.GN.df, aes(y=Protein1, x=Accession, group=factor(Age)) ) +
 geom_dotplot(aes(fill=Age ), binaxis = 'y', stackdir = 'center')
于 2018-06-28T12:57:11.237 回答