gpt4 book ai didi

删除 geom_bar 中边框的底部边框

转载 作者:行者123 更新时间:2023-12-04 11:18:02 25 4
gpt4 key购买 nike

我正在寻找一种方法来移除添加到 geom_bar 中的非重叠底部边框。我不想使用像 geom_hline(yintercept = 0, color = "white") 这样的选项,因为它覆盖了原始条形的单行像素,所以听起来很挑剔。我猜我可能必须直接修改 ggproto 对象的内部结构,但我不知道该怎么做。

示例代码:

plot <- iris %>% ggplot(aes(Species, Sepal.Length, fill = Species)) +
geom_bar(stat = "summary", fun.y = "mean", colour = "black")

enter image description here

期望的输出:

enter image description here

最佳答案

您可以使用

禁用黑色边框
geom_bar(..., colour = "NA")

然后需要重新绘制它们。根据需要调整 width+/- 0.5 以适本地间隔条形图。

library(dplyr)
library(ggplot2)


x <- iris %>%
group_by(Species) %>%
summarise(m=mean(Sepal.Length)) %>%
mutate(Species.x = as.integer(as.factor(Species))) %>% ungroup
y <- bind_rows(
x %>%
mutate(
Species.x = Species.x - 0.5,
y = 0
),
x %>%
mutate(
Species.x = Species.x - 0.5,
y = m
),
x %>%
mutate(
Species.x = Species.x + 0.5,
y = m
),
x %>%
mutate(
Species.x = Species.x + 0.5,
y = 0
)
)

ggplot(x, aes(Species.x, m)) +
geom_col(aes( fill=Species), colour=NA, width=1) +
geom_path(data=y, aes(y=y, group=Species), color='black') +
scale_x_continuous(breaks=x$Species.x, labels=x$Species)

关于删除 geom_bar 中边框的底部边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58818037/

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