如何解决添加具有不同比例的额外geom_point
我正在尝试在geom_point
上方添加另一组点。问题在于初始数据集具有3个级别的因子,而第二个则没有。我希望第一组点根据因子级别具有不同的颜色和形状,第二组点要统一。情节是这样的:
plot = ggplot() +
geom_point(data1,aes(x = x1,y = y1,color = factor,shape = factor)) +
scale_color_manual(values = factor_color) +
scale_shape_manual(values = factor_shape)
当我添加另一组点时,
plot +
geom_point(data2,aes(x = x2,y = y2))
我收到此错误
错误:手动刻度中的值不足。需要4个,但只有3个 提供。
我理解为什么会这样。
但是,当我在第二个geom_point
,color = "red"
和shape = 1
中设置刻度时,会出现此错误
错误:连续值提供给离散刻度
这个问题有解决方案吗?
编辑
示例数据具有这种结构
data1 = data.frame(factor = factor(rep(letters[1:3],3)),x1 = rnorm(9),y1 = rnorm(9))
data2 = data.frame(x2 = rnorm(6),y2 = rnorm(6))
factor_color = scales::hue_pal()(3)
factor_shape = c(19,15,17)
解决方法
在我的示例中,我没有错误。
猜对了您的数据:
data1 <- data.frame(factor = factor(letters[1:4]),x1 = rnorm(4),y1 = rnorm(4))
data2 <- data.frame(factor = factor(letters[1:3]),x2 = rnorm(3),y2 = rnorm(3))
factor_color <- scales::hue_pal()(4)
factor_shape <- 1:4
您的代码有两个小的更改。
我在两个data =
geom_point
library(ggplot2)
plot <- ggplot() +
geom_point(data = data1,aes(x = x1,y = y1,color = factor,shape = factor)) +
scale_color_manual(values = factor_color) +
scale_shape_manual(values = factor_shape)
plot +
geom_point(data = data2,aes(x = x2,y = y2))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。