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

时间:2018-06-27 17:26:52

标签: r ggplot2 colors fill aesthetics

我正在尝试使用点图表示样本数据和样本元数据。这两个数据都是连续的数字数据,并分为几个部分。不幸的是,除非我使用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)))

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

我们将不胜感激!

(已编辑以添加示例数据)

1 个答案:

答案 0 :(得分:0)

您可以将组添加到主映射中,然后将连续填充映射添加到geom_dotplot中:

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