Мне не удалось удалить лишние пробелы по бокам групп полос в geom_plot.
Я хотел бы сделать то, чего добился здесь Роланд: Удалите пробелы между полосами ggplot2, но когда Я пытаюсь реализовать его решение и получаю сообщение об ошибке «Предупреждение: geom_bar()
больше не имеет параметра binwidth
. Используйте вместо этого geom_histogram()
».
Я добавил эту строку кода к своему графику (пробуя разную ширину):
geom_histogram(binwidth = 0.5) +
который возвращает «Ошибка: stat_bin () нельзя использовать с эстетикой y». и никакого сюжета.
Данные:
mydf<- data.frame(Treatment = c("Con", "Con", "Ex", "Ex"),
Response = rep(c("Alive", "Dead"), times=2),
Count = c(259,10,290,21))
aPalette<-c("#009E73", "#D55E00")
Участок:
example<-ggplot(mydf, aes(factor(Response), Count, fill = Treatment)) +
geom_bar(stat="identity",position = position_dodge(width = 0.55), width =
0.5) +
scale_fill_manual(values = aPalette, name = "Treatment") + #legend title
theme_classic() +
labs(x = "Response",
y = "Count") +
scale_y_continuous(breaks = c(0,50,100,150,200,250,275), expand = c(0,0),
limits = c(0, 260)) +
theme(legend.position = c(0.7, 0.3)) +
theme(text = element_text(size = 15)) #change all text size
example
Примечание. Я не знаю, почему я получаю «Предупреждение: удалена 1 строка, содержащая пропущенные значения (geom_bar)». но меня это не беспокоит, потому что это не происходит с моими фактическими данными ** Edit re: note - это происходит потому, что я установил предел для оси Y ниже максимального значения для столбца, который был удален. Я не собираюсь переходить на код, поэтому мне не нужно перерисовывать свою фигуру, но меняю
limits = c(0, 260)
to
limits = c(0, 300)
покажет все полосы. На случай, если у кого-то была аналогичная проблема. Я найду сообщение, посвященное этой проблеме, и сделаю это редактирование более кратким, когда смогу связать ответ