【发布时间】:2023-01-13 11:15:07
【问题描述】:
有没有办法添加带有计数的图例以给出每行的密度?
或者更简单的方式来展示它?
非常感谢!
甚至无法添加图例 :)
我使用的代码:
data %>%
ggplot(aes(x = subscribed, y = campaign)) +
geom_point () +
geom_jitter()
【问题讨论】:
有没有办法添加带有计数的图例以给出每行的密度?
或者更简单的方式来展示它?
非常感谢!
甚至无法添加图例 :)
我使用的代码:
data %>%
ggplot(aes(x = subscribed, y = campaign)) +
geom_point () +
geom_jitter()
【问题讨论】:
您可以为每个组(已订阅)创建一个 label,它是预先计算的 n() 观察值的数量,并将它们分配为列字符串。这可以在 aes 中使用,以确保它显示在图例中。这是一个可重现的例子:
library(dplyr)
library(ggplot2)
df %>%
group_by(subscribed) %>%
mutate(count = paste0(subscribed, ' (n = ', n(), ')')) %>%
ggplot(aes(subscribed, campaign, colour = factor(count))) +
geom_jitter()
创建于 2023-01-12 reprex v2.0.2
创建数据:
df <- data.frame(campaign = runif(100),
subscribed = rep(c("no", "yes"), 50))
【讨论】:
我找到了另一种方法来以更清晰的方式显示与此类似的数据。
但是,我无法弄清楚传说大声笑
我使用的代码是:
p <- ggplot(data = data, aes(x = subscribed, y = pdays)) +
geom_count() + scale_size_continuous(range = c(7, 30))
p + geom_text(data = ggplot_build(p)$data[[1]],
aes(x, y, label = n), color = "#ffffff") +
scale_y_continuous(breaks = seq(0, 30, by = 4))
【讨论】: