r - 使用 ggplot 创建多条回归线
问题描述
我有一个如下所示的数据框(数据):
我想使用ggplot()
回归线为 Mating.system 的每个级别(MO、PG、PR)创建一个散点图。
到目前为止,我已经创建了这段代码
p <- ggplot(data, aes(x=data$Log.MF.mass, y=data$log.FM.lifespan, group=data$Mating.system)) +
geom_point(aes(shape=data$Mating.system, color=data$Mating.system))
p <- p+labs(x="Log MF body mass", y="Log FM longevity", color="Mating system")
这会产生两个图例,我想删除底部的一个并删除其中的 NA 。
我想在图上画出对应于 MO、PG、PR 的三个回归线。我希望我已经很好地解释了这一点。
非常感谢您的帮助。
解决方案
如果没有看到您的数据就无法确定,但我认为这应该可行。一些注意事项:
- 不要
data$
在里面使用aes()
;只需使用列名 - 你真的需要同一个变量的颜色和形状吗?
- 用于回归使用
geom_smooth()
和按因子分组;您可以添加se = FALSE
以删除置信区间 关于NA,我个人认为应该在图例中注明那些没有交配系统的点
ggplot(data, aes(x = Log.MF.mass, y = log.FM.lifespan)) + geom_point(aes(shape = Mating.system, color = Mating.system)) + geom_smooth(method = "lm", aes(group = Mating.system, color = Mating.system)) + guides(shape = FALSE)
推荐阅读
- ffmpeg - FFMPEG 返回负值并停止渲染
- java - 去除字符串中空格的方法
- verilog - verilog 中函数调用的输出不清楚。请帮助我理解输出
- python - Pyqt5 组合框允许搜索但阻止添加
- javascript - JS中typeof的类型是什么
- javascript - C# 使用 WebRequest 从脚本中获取值
- odbc - 无法通过 Python ODBC 驱动程序问题连接到 Azure SQL 数据库
- amazon-web-services - 我应该在一个实例中为多个工作节点或多个 VM 使用多个 aws 实例吗?
- html - 如何在破折号之前阻止文本中断到另一行?
- c# - "Microsoft.Extensions.Options" version conflicts between .NET Core 3.1 Class Library and .NET Core 3.1 Azure Function V3 Class Library