ggplot2 軸ラベルをさまざまな色でカスタマイズする 質問する

ggplot2 軸ラベルをさまざまな色でカスタマイズする 質問する

ggplot2 から作成した基本的な棒グラフがあります。y 変数には正と負の両方の値が含まれており、値のベクトルの約半分が負です。対応する x 因子の y 値が負の場合、そのラベルが赤になるように軸ラベルをカスタマイズしたいと思います。再現可能な例を次に示します。

#Create data
x <- c("a","b","c","d","e","f")
y <- c("10", "9","-10","11","-3","-15")
data <- data.frame(x, y)
data$y <- as.numeric(as.character(data$y))

data$category <- ifelse(as.numeric(data$y)<0, 0, 1)
data$category <- as.factor(data$category)

#Graph
library(cowplot) #theme
library(ggplot2)

ggplot(data, aes(x=x, y=y)) + 
  geom_bar(stat = "identity", aes(fill=category)) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  theme(axis.text.x = element_text(colour = "black"))

ここに画像の説明を入力してください

必要なのは、「c」、「e」、「f」のラベルの色を自分の選んだ色に変更する方法です。切り替えを試みましたtheme(aes(axis.text.x=element_text(colour=Air_pricier)))が、エラーが発生しました。

ベストアンサー1

axis.text.x次のオプションに色のベクトルを指定できますtheme():

a <- ifelse(data$category == 0, "red", "blue")

ggplot(data, aes(x = x, y = y)) + 
    geom_bar(stat = "identity", aes(fill = category)) +
    theme(axis.text.x = element_text(angle = 45, hjust = 1, colour = a))

ここに画像の説明を入力してください

おすすめ記事