gpt4 book ai didi

r - 使用 ggplot2 对轴文本进行条件格式化

转载 作者:行者123 更新时间:2023-12-02 19:53:29 26 4
gpt4 key购买 nike

我正在尝试格式化轴文本以反射(reflect)所使用的相同组填充下图中的几何图形。为 fill 参数选择颜色方案在aes()中,导致a和b、c之间颜色不同。 ifelse 语句中使用然而,element_text() 不会产生正确的颜色格式。

library(ggplot2)

# Make some data (emulating melted format)
df <- cbind.data.frame(c('a', 'a', 'a', 'b', 'c'),
c(5, 5, 5, 15, 45),
c(1, 1, 1, 0, 0))
names(df) <- c('variable', 'value', 'col')

# Conditional statement to be used in plot
con <- ifelse(df$col == 1, 'red', 'green')

# Call to the plot included below
ggplot(df, aes(x = variable, y = value)) +
geom_bar(stat = "identity", aes(fill = col)) +
theme(axis.text.x = element_text(angle = 45, hjust = 1, colour = con))

enter image description here

最佳答案

您的 con 变量有五个元素,其中前三个是“红色”:

[1] "red"   "red"   "red"   "green" "green"

由于只有三个轴标签,因此 theme 使用前三个值,从而使所有标签变为红色。当 con 的长度合适时,我们得到期望的结果:

con <- ifelse(unique(df$variable) == 'a', 'red', 'darkgreen')

enter image description here

关于r - 使用 ggplot2 对轴文本进行条件格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57651144/

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