gpt4 book ai didi

r - 有没有办法在不调整透明度的情况下在 R 中显示重叠的直方图?

转载 作者:行者123 更新时间:2023-12-03 16:16:14 24 4
gpt4 key购买 nike

目标是显示重叠的直方图,但我想避免使用 alpha 调整,以便颜色保持明亮。

有没有办法在不调整 alpha arg 的情况下做到这一点?

目标是显示如下所示的颜色:

hist(rnorm(mean=10, n = 1000), col='blue')
hist(rnorm(mean=11, n = 1000), col='red', add=T)

enter image description here

但也要显示重叠区域,如下所示
hist(rnorm(mean=10, n = 1000), col='blue')
hist(rnorm(mean=11, n = 1000), col=rgb(1,0,0,0.5), add=T)

enter image description here

类似的问题并没有完全解决透明度问题:

How to create black and white transparent overlapping histograms using ggplot2?

我对密度和使用其他图形包(例如格子、ggplot2 等)没问题。

编辑:我希望这些图被填充并且相交区域是不同的颜色(例如红色和蓝色相交的紫色)。

最佳答案

使用 ggplot2 的解决方案和 geom_density .

library(ggplot2)
library(tidyr)

# create data
set.seed(1234)
df <- data.frame(x = rnorm(1000, 10), y = rnorm(1000, 11)) %>%
gather(key, value) # use tidyr::gather to convert from wide to long format

ggplot(df, aes(value, colour = key)) +
geom_density(show.legend = F) +
theme_minimal() +
scale_color_manual(values = c(x = "red", y = "blue"))


# use 'adjust' to adjust density estimation
ggplot(df, aes(value, colour = key)) +
geom_density(show.legend = F, adjust = .5) +
theme_minimal() +
scale_color_manual(values = c(x = "red", y = "blue"))



直方图

由于 alpha 不是选项,除了使用密度之外,您还可以将直方图堆叠在一起,尽管我更喜欢密度,因为它们更容易比较。
# using stacked histograms
ggplot(df, aes(value, fill = key)) +
geom_histogram(show.legend = F) +
theme_minimal() +
scale_fill_manual(values = c(x = "red", y = "blue"))
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

关于r - 有没有办法在不调整透明度的情况下在 R 中显示重叠的直方图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33480500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com