#r #ggplot2
#r #ggplot2
Вопрос:
Я создал график с данными и кодом ниже. Я хотел бы изменить значения серого, используемые для полос, чтобы сделать их на один шаг темнее. Однако я не вижу ничего ?scale_fill_brewer
, что позволило бы мне это сделать. Есть ли простое решение для исправления этого?
Данные:
counts_truth <- structure(list(x_label = c("Truth ECOST = 0.52", "Truth ECOST = 0.39",
"Truth ECOST = 0.26", "Truth ECOST = 0.13", "Truth ECOST = 0.00",
"Truth ECOST = 0.52", "Truth ECOST = 0.39", "Truth ECOST = 0.26",
"Truth ECOST = 0.13", "Truth ECOST = 0.00"), treatment = structure(c(1L,
1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L), .Label = c("control", "treatment"
), class = "factor", scores = structure(c(control = 0.424793388429752,
treatment = 0.498594189315839), .Dim = 2L, .Dimnames = list(c("control",
"treatment")))), percentage = c(0.163636363636364, 0.272727272727273,
0.427272727272727, 0.6, 0.781818181818182, 0.319587628865979,
0.360824742268041, 0.474226804123711, 0.701030927835051, 0.88659793814433
), remove = c("Truth ECOST ", "Truth ECOST ", "Truth ECOST ",
"Truth ECOST ", "Truth ECOST ", "Truth ECOST ", "Truth ECOST ",
"Truth ECOST ", "Truth ECOST ", "Truth ECOST "), ECOST = c("0.52",
"0.39", "0.26", "0.13", "0.00", "0.52", "0.39", "0.26", "0.13",
"0.00")), row.names = c(NA, -10L), class = c("data.table", "data.frame"
))
library(ggplot2)
counts_truth %>%
ggplot(aes(x = ECOST, y = percentage, fill = treatment, label=sprintf("%0.2f", round(percentage, digits = 2))))
geom_col(position = 'dodge')
geom_text(position = position_dodge(width = .9), # move to center of bars
vjust = -0.5, # nudge above top of bar
size = 5)
scale_fill_brewer(palette = "Greys")
theme_bw()
Ответ №1:
Одним из быстрых решений было бы использовать scale_fill_grey
для настройки континуума серых тонов, чтобы они были немного темнее. Основываясь на вашем наборе данных, приведенное ниже затемнит график.
Отрегулируйте start
и end
настройте параметры по мере необходимости. Они варьируются от 0 (черный) до 1 (белый).
counts_truth %>%
ggplot(aes(x = ECOST, y = percentage, fill = treatment, label=sprintf("%0.2f", round(percentage, digits = 2))))
geom_col(position = 'dodge')
geom_text(position = position_dodge(width = .9), # move to center of bars
vjust = -0.5, # nudge above top of bar
size = 5)
scale_fill_grey(start = 0.8, end = 0.5)
theme_bw()
Комментарии:
1. Я возьму это на себя! Большое вам спасибо