gpt4 book ai didi

r - 只显示部分图例内容

转载 作者:行者123 更新时间:2023-12-03 08:13:21 25 4
gpt4 key购买 nike

我有兴趣在我的 ggplot2 图例中仅显示前 3 个最丰富的组。

例如,在这个表中,我有 7 个组,我只想在我的 ggplot2 图例中显示组 D、E、F

<表类=“s-表”><标题>组样本大小 <正文>一个2B3C1D25E23F20G3

我尝试在线搜索,但我得到的最接近的答案是重新排序图例。

提前致谢!

干杯,梅尔

最佳答案

您可以通过 scale_fill_discretebreaks 参数设置要在图例中显示的类别来实现此目的:

df <- data.frame(
group = c("A", "B", "C", "D", "E", "F", "G"),
sample.size = c(2L, 3L, 1L, 25L, 23L, 20L, 3L)
)

library(ggplot2)
library(dplyr)

top_group <- df %>% top_n(3, sample.size) %>% pull(group)

ggplot(df, aes(group, sample.size, fill = group)) +
geom_col() +
scale_fill_discrete(breaks = top_group)

编辑对于scale_fill_manual,一种选择是命名您的颜色列表。这样做的另一个好处是,您可以将颜色分配给名称或类别,而不必担心将颜色传递给比例的 values 参数的顺序:

# Example color palette
colourslist <- scales::hue_pal()(length(unique(df$group)))
# Name your list of colors
names(colourslist) <- unique(df$group)

ggplot(df, aes("1", sample.size, fill = group)) +
geom_col(width = 1, color="darkgrey") +
scale_fill_manual(values = colourslist, breaks = top_group) +
coord_polar("y", start = 0)

关于r - 只显示部分图例内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70197763/

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