我正在尝试使用点图表示样本数据和样本元数据。这两个数据都是连续的数字数据,并分为几个部分。不幸的是,除非我使用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)))
我已经尝试了各种方法来使它作为连续数据而不是离散数据工作,但无济于事,它只是全黑显示,甚至没有错误消息可以指示我正确的方向。
我们将不胜感激!
(已编辑以添加示例数据)
答案 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')