Below is code to generate two histograms. But due to significant overlap, it is difficult to see each distibution clearly.
How can I can only plot a thicker outline of each histogram and remove the vertical lines/bars.
Desirable histogram should look this -
library(tidyverse)
A <- rnorm(n = 1000, mean = 0, sd = 1)
B <- rnorm(n = 1000, mean = 0.1, sd = 1.3)
tbl <- tibble(A, B) %>%
# pivot longer
pivot_longer(cols = everything(),
names_to = "Distributions",
values_to = "values")
ggplot(data = tbl,
aes(x = values,
col = Distributions,
fill = Distributions))
geom_histogram(bins = 50,
alpha = 0.3,
position = "identity")
theme_bw()
CodePudding user response:
You can combine a borderless histogram with a geom_step()
layer for the outline.
library(tidyverse)
#> Warning: package 'tibble' was built under R version 4.1.1
#> Warning: package 'readr' was built under R version 4.1.1
A <- rnorm(n = 1000, mean = 0, sd = 1)
B <- rnorm(n = 1000, mean = 0.1, sd = 1.3)
tbl <- tibble(A, B) %>%
# pivot longer
pivot_longer(cols = everything(),
names_to = "Distributions",
values_to = "values")
ggplot(data = tbl,
aes(x = values,
col = Distributions,
fill = Distributions))
geom_step(
stat = "bin", bins = 50,
direction = "mid"
)
geom_histogram(
bins = 50, alpha = 0.3, colour = NA,
position = "identity"
)
Created on 2021-09-24 by the reprex package (v2.0.1)