Я использую обходной путь для удаления диагональных линий из легенды ggplot: https : //groups.google.com/forum/? fromgroups = #! topic / ggplot2 / vJnF9_HBqx4
Как мне изменить цвета групп со следующими данными?
# Create data #
a<-as.data.frame(c(1,1,1,2,2))
b<-as.data.frame(c("A","A","B","B","A"))
c<-as.data.frame(c(20,20,60,50,50))
a<-cbind(a,b,c)
colnames(a)<-c("X","Gp","Y")
# Plot #
ggplot(a, aes(x=X, y=Y,fill=Gp)) +
geom_bar(stat = "identity", aes(colour = "black")) +
scale_color_identity() +
theme(legend.key = element_rect(colour = "black", size = 1))
Я пробовал изменить следующие элементы:
scale_color_identity(values=c("red","yellow"))
geom_bar(stat = "identity", aes(colour = c("red","yellow")))
geom_bar(stat = "identity", aes(colour = "black"), fill=c("red","yellow"))
Но каждый выдает ошибку.
2 ответа
Попробуй это. Гиды звонят: позвольте вам выбрать масштаб, чтобы не было легенды. И вы можете установить цвет контура без aes ().
ИЗМЕНИТЬ после комментария о диагональной линии в легенде
На основании этого вопроса SO удалите диагональную линию в легенде , вы можете добавить направляющие (заполнить и т. д., чтобы убрать диагональ.
ggplot(a, aes(x=X, y=Y,fill=Gp)) +
geom_bar(stat = "identity", colour = "black") +
scale_fill_manual(values = c("red","yellow")) +
guides(fill = guide_legend(override.aes = list(colour = NULL))) +
guides(colour = FALSE)
Вы также можете дважды позвонить geom_bar
. Один раз для легенды и без аргумента цвета, и один раз с аргументом цвета, но с подавлением легенды
ggplot(a, aes(x=X, y=Y,fill=Gp)) +
geom_bar(stat = "identity", color = 'black', show_guide = F) +
geom_bar(stat = 'identity') +
scale_fill_manual(values = c('red', 'yellow') )
Похожие вопросы
Связанные вопросы
Новые вопросы
r
R — это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, используйте минимально воспроизводимые примеры, которые другие могут запустить с помощью копирования и вставки. Показать желаемый результат. Используйте dput() для данных и укажите все небазовые пакеты с помощью library(). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. Для вопросов по статистике используйте https://stats.stackexchange.com.