Я пытаюсь настроить барплот так, чтобы только несколько этикеток отображались другим цветом.Я знаю, что раньше был похожий вопрос ( Измените цвет подмножества групповых меток в блокпосте в R ), но ответ не помог мне, и все остальное, что я нашел в Интернете, так что я бы действительно, очень признателен за помощь.
Мои данные выглядят так:
trait2 <- c('A','B','C','D')
rg <- c (0.5480, 0.4801, 0.2805, -0.2480)
se <- c(0.0495, 0.0908, 0.0548, 0.0957)
data <- data.frame(trait2,rg,se)
data
trait2 rg se
A 0.5480 0.0495
B 0.4801 0.0908
C 0.2805 0.0548
D -0.2480 0.0957
, а код для барплота выглядит так:
barplot1 <- barplot(data$rg,
main="correlation between traits",
xlab="rG",
border="blue",
las=1,
horiz=TRUE,
names.arg=data$trait2,
font.axis=2
cex.names=0.5,
xlim=range(-0.4,0.6,0.1) )
Теперь я хотел бы изменить цвет меток A и C, но B и D. должны остаться черными.
Я попробовал это, как было описанов ссылке, которую я упомянул выше:
mtext(barplot1$trait2, at = 1:length(barplot1$trait2, side=1, line=1,
col=ifelse(barplot$trait1=="A", "red", "black")))
, но затем я получаю ошибку «Ошибка в barplot $ trait2: $ оператор недопустим для атомарных векторов. Это имеет смысл, но я все еще не знаю, какрешите это.
Было еще одно предложение использовать
+ scale_colour_manual(values = c("B" = "red"))
, которое я не могу понять. (Где я должен вставить это?)
Я надеюсь, что кто-то можетпомогите, заранее спасибо!