r - 将图例添加到多元线性回归图的单个图
问题描述
我在一个图中绘制了来自两个不同数据集的两个 ggplot。图是简单的线性回归。我想为图中不同颜色的线和点添加图例。我怎样才能做到这一点?我用于绘图的代码如下。但是,我没有为此添加一个理想的传说。
ggplot() +
geom_point(aes(x = Time_1, y = value1)) +
geom_point(aes(x = Time_2, y = value2)) +
geom_line(aes(x = Time_1, y = predict(reg, newdata = dataset)))+
geom_line(aes(x = Time_Month.x, y = predict(regressor, newdata = training_set)))+
ggtitle('Two plots in a single plot')
解决方案
如果数据中有组,ggplot2 会自动添加图例。您的原始代码为 ggplot() 提供了最少的信息,基本上足以让它工作,但不足以创建图例。
由于由于两个不同的回归,您的数据来自两个不同的对象,因此在这种情况下,您似乎只需要向每个 geom_point() 和每个 geom_line() 添加 'color = "INSERT COLOR NAME"' 参数。例如,使用 R 的内置 mtcars 数据集,您所拥有的类似于
ggplot(mtcars) + geom_point(aes(x = cyl, y = mpg)) + geom_point(aes(x = cyl, y = wt)) + ggtitle("Example Graph")
你想要的可以通过使用类似的东西来获得,
ggplot(mtcars) + geom_point(aes(x = cyl, y = mpg, color = "blue")) + geom_point(aes(x = cyl, y = wt, color = "green")) + ggtitle("Example Graph")
这似乎转化为
ggplot() +
geom_point(aes(x = Time_1, y = value1, color = "blue")) +
geom_point(aes(x = Time_2, y = value2, color = "green")) +
geom_line(aes(x = Time_1, y = predict(reg, newdata = dataset), color = "red"))+
geom_line(aes(x = Time_Month.x, y = predict(regressor, newdata = training_set), color = "yellow"))+
ggtitle('Two plots in a single plot')
您还可以使用 aes() 中的大小、形状或 alpha 参数来区分不同的系列。
推荐阅读
- linux - 如何从 Azure 管道连接到私有容器实例?
- javascript - 具有 JSON 服务器的不同唯一键
- php - PHP Scraper 从谷歌航班获取航班价格
- python-3.x - Flask-seeder 初始数据,为什么 faker.create 不在控制台打印任何内容?
- mysql - 使用 for 循环和多个 orWhen 为图表构建数组
- node.js - node.js 模块中的 Sinon Stub 依赖类
- flutter - 颤振一次性选择单选按钮
- python-2.7 - 使用带有可变日志文件名的 dictConfig()
- python - 如何为推荐数据集取消旋转 pandas 数据框?
- java - 抱怨在声纳中记录和重新抛出异常