我在ggplot中使用geom_bar来可视化客户的购买决策(3个因素级别的购买,可能是,没有购买。使用facet_wrap将决策分组为几个产品组。
ggplot(df, aes(x= status_purchase)) +
geom_bar() +
theme(axis.text.x = element_text(angle = 90)) +
facet_wrap(~ product_group)不足为奇的是,它工作得很好。我是否有任何选项来可视化facet_wrap中各个组的另一个变量(例如,每个产品组的总费用)?在图的右上角放置一个相应大小的气泡,或者至少是标题中费用的总和,这样会更好。
感谢您的回答。
菲利普
发布于 2021-10-05 21:22:57
操作。在没有特定示例的情况下,让我演示一种方法,该方法使用geom_text()来显示按方面分隔的给定数据集的汇总数据。
在本例中,我将使用txhousing数据集(它是ggplot2的一部分):
library(dplyr)
library(tidyr)
library(ggplot2)
df <- txhousing
df %>% ggplot(aes(x=month, y=sales)) + geom_col() +
facet_wrap(~year)

假设我们想要在每个方面的右上角显示一年的红色销售总额。要做到这一点,最简单的方法是首先在单独的数据集中计算汇总数据,然后通过geom_text()根据方面覆盖该信息。
df_summary <- df %>%
group_by(year) %>%
summarize(total = sum(sales, na.rm = TRUE))
df %>% ggplot(aes(x=month, y=sales)) + geom_col() +
facet_wrap(~year) +
geom_text(
data=df_summary, x=12, y=33000, aes(label=total),
hjust=1, color='red', size=3
)

我在geom_text()调用中覆盖了x和y美学的映射。只要df_summary数据集包含一个名为year的列,数据就会正确地放在facet上。
我希望您能将类似的想法应用到您的特定问题中。
https://stackoverflow.com/questions/69452293
复制相似问题