У меня есть набор данных:Создание бар границы для сложенной гистограммы в R
DF <- read.table(text="Rank F1 F2 F3
1 500 250 50
2 400 100 30
3 300 155 100
4 200 90 10", header=TRUE)
library(reshape2)
DF1 <- melt(DF, id.var="Rank")
Я хочу, чтобы создать многослойную гистограмму:
library(ggplot2)
ggplot(DF1, aes(x = Rank, y = value, fill = variable)) +
geom_bar(stat = "identity")
Теперь я хочу, чтобы включить черную рамку для каждый бар, чтобы он был более ясным визуально. Я бы это сделал:
ggplot(DF1, aes(x = Rank, y = value, fill = variable)) +
geom_bar(stat = "identity")+geom_histogram(colour = "black")
Однако, это не то, что я хочу.
Проблема 1: в каждом баре нет черной границы.
Выпуск 2: для каждой группы в легенде имеется дополнительная диагональная линия. Я хочу удалить эту строку.
Интересно, может ли кто-нибудь сообщить мне, что я сделал неправильно, и как правильно включить черную рамку для каждого бара в гистограмме.
Большое спасибо.
Если я правильно Вас понял, вы почти там - чтобы граница просто добавить 'цвет =«черный»' в 'geom_bar' звоните в свой первый сюжет. Быстрое исправление черной строки в легенде состоит в том, чтобы построить два вызова «geom_bar», подавляя «легенду» в вызове с помощью границы. Итак: 'ggplot (DF1, aes (x = Rank, y = value, fill = variable)) + geom_bar (stat =" identity ") + geom_bar (stat =" identity ", color =" black ", show_guide = FALSE) ' – user20650
Да, это именно то, что я хочу, хотя я бы предпочел также иметь черную границу над легендой (но просто удалив диагональную линию). Большое вам спасибо за вашу помощь. Если вы разместите этот ответ ниже, я бы принял его в качестве ответа. спасибо –