geom_dotplot 不允许连续的颜色变量?

geom_dotplot not allowing continuous colour variable?

我正在尝试使用点图来表达样本数据和样本元数据。这两个数据都是连续的数字数据,并分为几个种质。不幸的是,我无法让连续的 'age' 数据在 geom_dotplot 中工作,除非我使用 factor() 将其更改为分类数据,但我不知道为什么

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)))

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

如有任何帮助,我们将不胜感激!

(编辑以添加样本数据)

你可以只在主映射中添加一个组,然后将连续填充映射添加到geom_dotplot中:

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