我想在 scatterplotmatrix 的散点图中添加一条 x=y 线,如下所示:
有谁知道一个能够通过简单的选项做到这一点的功能?到目前为止,我尝试了对和这里的 scatterplotMatrix from car-package,但在论坛中找不到这样的选项,也没有类似的问题。我希望您可以在没有可重复数据的情况下看到问题...非常感谢!
PS:我知道如何手动创建这样一个情节,一个接一个的部分情节 - 省略工作并使用一个选项来做会很好。拜托,我不想浪费你的时间来解释这些解决方案。
如此处所述,通过将 iris 替换为您的数据集,以下代码应该可以工作。
pairs(iris, panel= function(x,y,...){
points(x,y);
abline(a=0, b=1)})
您可以将GGally
package 与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)