하나의 종속 변수와 여러 독립 변수로 구성된 데이터 프레임이 있습니다. 관계 그룹은 다른 테스트에서 가져 왔습니다 (그러나 이것은 내가 만난 문제를 해결하는 데 중요하지 않습니다).GGRidges : 단일 밀도 플롯이 너무 높음
각 관계에 대한 밀도 플롯이있는 그래프 하나를 나타 내기 위해 ggridges 패키지를 사용하고 있습니다. 하나의 관계에 대해 하나의 값만있는 경우 ggridges는 밀도 플롯 대신 점을 생성합니다. 내 문제는이 경우 아래의 밀도 그림이 위의 공간과 겹치는 것입니다. ggridges가 다른 밀도 플롯을 보지 못하고 아래의 밀도 플롯에서 차지할 수있는 공간을 확장하기 때문일 수 있습니다. "scale"옵션은 두 개의 밀도 플롯의 겹침을 피할 수 있지만 밀도 플롯과 점 사이의 겹침을 피하기 위해 사용할 수 있습니다 (적어도 그렇게 생각합니다).
스케일을 0.5로 설정하면 문제를 해결할 수 있지만 각 밀도 플롯이 작아지기 때문에 이것이 최선의 방법은 아닙니다. 또한 다른 사람들과 겹치지 않는 것들.
다음은 내가 만난 문제가있는 그래프를 생성하는 재현 가능한 예제를 첨부했습니다. 누구든지 도와 주셔서 감사합니다. 무슨 일이 일어나고 무엇
library(magrittr)
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
library(forcats)
library(ggplot2)
library(ggridges)
library(RCurl)
#> Carico il pacchetto richiesto: bitops
y_ex <- c("y1","y1","y1","y1","y1","y1","y1","y1","y1","y1","y1","y1","y1","y1","y1","y1","y1","y1","y1","y1","y1","y1","y1")
x_ex <- c("x1","x1","x2","x3","x3","x3","x3","x3","x3","x4","x4","x4","x5","x5","x5","x5","x5","x5","x5","x5","x5","x5","x5")
value_ex <- c(0.26,0.40,0.47,0.72,0.71,0.69,0.74,0.73,0.24,0.39,0.43,0.46,0.21,0.18,0.14,0.10,0.16,-0.10,-0.11,0.56,0.50,0.49,0.43)
data_ex <- data.frame(y_ex,x_ex,value_ex)
r_ex <- data_ex %>%
dplyr::mutate(x_ex = forcats::fct_reorder(x_ex, desc(value_ex), fun = mean))
r_ex %>%
ggplot(aes(x = value_ex, y = x_ex)) +
ggtitle(paste0("Predictors of ",y_ex)) +
geom_density_ridges(fill = "royalblue",
scale = 0.9,
color = NA,
alpha = 0.7,
rel_min_height = 0.01) +
geom_point(size = 0.5, alpha = 0.5, pch = 16) +
geom_point(data = r_ex %>% group_by(x_ex) %>% dplyr::summarise(value_ex = mean(value_ex)),
color = "firebrick",
pch = 16,
alpha = 0.5) +
scale_y_discrete("") +
scale_x_continuous("", limits = c(0, 1)) +
theme_grey(base_size = 16, base_family = "serif") +
theme(plot.title = element_text(hjust = 0.5,
lineheight = .8,
face = "bold",
margin = margin(10, 0, 20, 0),
color = "gray15"),
legend.position = "none")
#> Picking joint bandwidth of 0.0453
#> Warning: Removed 2 rows containing non-finite values (stat_density_ridges).
#> Warning: Removed 2 rows containing missing values (geom_point).`