我想在散点图矩阵的散点图中添加一个x = y-line,如下所示:
有没有人知道一个能够通过简单的选项做到这一点的功能? 到目前为止,我尝试过配对,这里是来自car-package的scatterplotMatrix,但在论坛中找不到这样的选项以及类似的问题。 我希望你能看到没有可重复数据的问题...... 非常感谢!
PS:我知道如何手动创建这样一个情节,一个部分情节接着另一个 - 省略工作并用一个选项做它就好了。拜托,我不想浪费你的时间来解释这些解决方案。
答案 0 :(得分:1)
正如前面提到的here,通过将虹膜替换为您的数据集,以下代码应该有效。
pairs(iris, panel= function(x,y,...){
points(x,y);
abline(a=0, b=1)})
答案 1 :(得分:-1)
您可以将GGally
包与ggplot2
一起使用。请参阅ggpairs
中的最后一个示例。
因此,您只需添加geom_line(aes(x = ..y..))
即可将图层添加到各个图表中。 (..y..
),让你在内部引用y字段 - 一个必要的技术性)
library(GGally)
library(ggplot2)
GGally::ggpairs(data = cars, diag = T)
custom_car <- ggpairs(mtcars[, c("mpg", "wt", "cyl")])
## prints all plot pairs
custom_car
## a plot at specific cell
custom_car[3, 1]
custom_car[3, 1] + geom_line(aes(x = ..y..))
custom_car[3, 1] + geom_line(aes(y = ..x..))
# or do you mean a single vertical line ?
custom_car[3, 1] + geom_vline(xintercept = 20, col = "red", lwd = 2)