【问题标题】:geom_dotplot not allowing continuous colour variable?geom_dotplot 不允许连续颜色变量?
【发布时间】:2018-12-06 16:22:15
【问题描述】:

我正在尝试使用点图来表达样本数据和样本元数据。这两个数据都是连续的数字数据,并被分组到几个加入中。不幸的是,除非我使用 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)))

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

我们将不胜感激地收到任何帮助!

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

【问题讨论】:

  • 寻求帮助时,您应该包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出。
  • 已添加示例数据,谢谢!

标签: r ggplot2 colors fill aesthetics


【解决方案1】:

您可以在主映射中添加一个组,并将连续填充映射到 geom_dotplot:

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

【讨论】:

  • 不幸的是,这不适用于点重叠的真实数据,抱歉!样本数据不足是我的错
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-03
  • 2021-03-30
  • 1970-01-01
  • 2021-03-11
  • 2016-11-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多