gpt4 book ai didi

r - 如何在ggplot2(R)的条形图中仅更改一个条形图的geom_text的颜色和位置?

转载 作者:行者123 更新时间:2023-12-03 20:34:09 37 4
gpt4 key购买 nike

我正在尝试创建一个条形图,其中使用 ggplot2 将所描绘的值写入条形图内。我仍然想用值“0”标记该组,但使用不同的颜色(黑色)并在 x 轴的正上方。如何仅更改此 geom_text 的位置和颜色?

我已经尝试在 scale_colour_manual 中输入一个向量,但它没有用(或者我没有做对)。

data <- read.table(text = "group percentage
group1 30
group2 29
group3 0
group4 18", header=TRUE)

library(ggplot2)
ggplot(data, aes(x=group, y=percentage))+
theme_bw()+
geom_bar(stat = 'identity', position = "dodge", fill="#13449f")+
geom_text(aes(label = percentage), position = position_dodge(0.9),
vjust=1.3, colour = "white", size=6)

使用此代码,group3 没有标签,因为也没有栏。我想在 x 轴上方仍然有一个黑色标签。

最佳答案

通过条件逻辑:

library(ggplot2)
ggplot(data, aes(x = group, y = percentage))+
theme_bw()+
geom_bar(stat = 'identity', position = "dodge", fill = "#13449f") +
geom_text(aes(label = percentage), position = position_dodge(0.9),
vjust = ifelse(data$percentage > 3, 1.3, -0.3),
colour = ifelse(data$percentage > 3, "white", "black"),
size = 6)

1

group3 == 3.1
2

这种方法的舒适之处在于:
  • 它会自动处理大小值
  • 您不需要第二个数据框或几何图形

  • 这种方法的警告:
  • 什么被硬编码为 > 3应针对每个可视化进行校准。它有可能如果您更深入地了解 ggplot2 如何构建图形,则可以自动化该部分,但对于这个小示例来说,这将是过度的。
  • 关于r - 如何在ggplot2(R)的条形图中仅更改一个条形图的geom_text的颜色和位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54095471/

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