r - 接收错误“美学必须是长度1或与数据相同(9420):颜色”在R
问题描述
editeddf$MajorAF <- 1 - editeddf$MAF
pdf(paste(var, "alleleFrequencyplot.pdf", sep = ""))
world <- map_data("world")
p <- ggplot(world, aes(long, lat)) +
geom_map(map = world, aes(map_id = region),
fill = NA, color = "black") +
coord_quickmap()
print(p +
geom_scatterpie(aes(x = long, y = lat, group = 1, r = 5),
data = editeddf,
cols = c("MAF", "MajorAF"),
color = c("lightskyblue1", "palevioletred2"),
alpha = .8))
dev.off()
在 R 中运行上述代码时,出现以下错误:
Error: Aesthetics must be either length 1 or the same as the data (9420): colour
不知道问题是什么,但是当我从打印语句中删除“geom_scatterpie”时,它会打印出一张灰色的世界地图,这并不是我想要的。
解决方案
这可能会解决您的颜色问题。scale_fill_manual
分别在而不是在 中指定 MAF 和 MajorAF 的颜色geom_scatterplot
。然后你的馅饼会变成蓝色和紫色。
world <- map_data('world')
p <- ggplot(world, aes(long, lat)) +
geom_map(map=world, aes(map_id=region), fill=NA, color="black") +
coord_quickmap()
print(p + geom_scatterpie(aes(x=long, y=lat, group=1, r=5), data=editeddf, cols=c("MAF","MajorAF"), alpha=.8)+
scale_fill_manual(values=c("lightskyblue1","palevioletred2")))
推荐阅读
- php - PHPMailer 不发送邮件
- android - 图书馆让我的项目变慢
- ios - canOpenURL 当返回 false 时打印出不必要的错误消息
- javers - 分布式系统上 Javers 中的缓存机制
- javascript - html javascript jquery 选择单击选项并加载
- vba - 通过在 excel 电子表格中查找特定单词来填充用户表单中的列表框
- c# - c# selenium firefox 打开新标签不起作用
- c# - c#调用c++ dll传输struct数组发生异常
- python-3.x - 复杂的python3 csv刮板
- php - 从 API 回调 url 中查找值