如何将x = y线添加到散点图矩阵?

时间:2016-10-06 11:42:24

标签: r plot scatter-plot r-car

我想在散点图矩阵的散点图中添加一个x = y-line,如下所示: example spm

有没有人知道一个能够通过简单的选项做到这一点的功能? 到目前为止,我尝试过配对,这里是来自car-package的scatterplotMatrix,但在论坛中找不到这样的选项以及类似的问题。 我希望你能看到没有可重复数据的问题...... 非常感谢!

PS:我知道如何手动创建这样一个情节,一个部分情节接着另一个 - 省略工作并用一个选项做它就好了。拜托,我不想浪费你的时间来解释这些解决方案。

2 个答案:

答案 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)