pdu*_*ois 7 r ggplot2 ggally tidyverse
我有以下代码:
library(GGally)
library(nycflights13)
library(tidyverse)
dat <- nycflights13::flights %>%
select(dep_time, sched_dep_time, dep_delay, arr_time, sched_arr_time, arr_delay) %>%
sample_frac(0.01)
dat
ggpairs(dat)
Run Code Online (Sandbox Code Playgroud)
它产生了这个:
如何添加密度着色,使其如下所示:
使用如何在ggplot中重现smoothScatter的异常值绘图中的想法?,R - 平滑颜色并向散点图添加图例,以及如何使用包装函数在GGally :: ggpairs中使用loess方法,您可以定义自己的函数以传递给ggpairs.
my_fn <- function(data, mapping, ...){
p <- ggplot(data = data, mapping = mapping) +
stat_density2d(aes(fill=..density..), geom="tile", contour = FALSE) +
scale_fill_gradientn(colours=rainbow(100))
p
}
ggpairs(dat, lower=list(continuous=my_fn))
Run Code Online (Sandbox Code Playgroud)
编辑
来自评论:如何在对角线中添加直方图并删除相关值中的"Corr:"?
您可以设置diag
onal和upper
参数.因此,要添加直方图(假设您的意思geom_histogram
),您可以使用diag=list(continuous=wrap("barDiag", binwidth=100))
和删除相关性完全使用upper=list(continuous="blank")
.如果你想真正删除文本*corr:*
,你需要定义一个新函数 - 请参阅ggpairscor_fun
中更改颜色的函数,现在不推荐使用params.
所以你的情节变成了
ggpairs(dat, lower=list(continuous=my_fn),
diag=list(continuous=wrap("barDiag", binwidth=100)),
upper=list(continuous=wrap(cor_fun, sz=10, stars=FALSE))
)
Run Code Online (Sandbox Code Playgroud)
编辑
来自评论:你如何为OP中的对角线直方图着色?
颜色只需添加相关参数的barDiag
功能,在这种情况下fill
和colour
.那diag
就是
diag=list(continuous=wrap("barDiag", binwidth=100, fill="brown", col="black"))
Run Code Online (Sandbox Code Playgroud)
(fill
给出主色,并col
给出勾勒出条纹的颜色)
归档时间: |
|
查看次数: |
1209 次 |
最近记录: |