Я пытаюсь создать следующий график с помощью следующего кода:ggplot2 не используя всю площадь участка
x = sample(0:1,10,replace = TRUE)
y = sample(0:1,10,replace = TRUE)
df = data.frame(x,y)
dfSummary<-ddply(df, "x", summarise, sdbar = sd(y), ybar = mean(y))
ggplot(dfSummary, aes(x,y = ybar))+
geom_bar(stat="identity",fill="dark blue")+
geom_errorbar(ymin=(pmax(0,dfSummary$ybar-dfSummary$sdbar)),ymax=(pmin(dfSummary$ybar+dfSummary$sdbar,1)))+
scale_y_continuous(limits = c(0, 1),breaks=seq(0,1,.1)) +
theme(panel.grid = element_blank()) +
theme(panel.background =element_blank())+
scale_x_discrete(breaks= c(0,1), limits = c(0,1),labels= c("x = 0", "x = 1")) +
ylab("Proportion of objective responders")
Полученное изображение, которое вы можете увидеть ниже показывает сюжет, где два бара для х = 0 и x = 1 занимают половину длины оси y (слева), но не заполняют всю площадь участка.
Я очень благодарен за понимание того, как сделать штрих-код отображаемым по ширине изображения.
Я попробовал то, что @heroka предложил изменения х к фактору. Теперь код выглядит следующим образом:
x = sample(0:1,10,replace = TRUE)
y = sample(0:1,10,replace = TRUE)
df = data.frame(x,y)
df$x = as.factor(df$x)
dfSummary<-ddply(df, "x", summarise, sdbar = sd(y), ybar = mean(y))
ggplot(dfSummary, aes(x,y = ybar))+
geom_bar(stat="identity",fill="dark blue")+
geom_errorbar(ymin=(pmax(0,dfSummary$ybar-dfSummary$sdbar)),ymax=(pmin(dfSummary$ybar+dfSummary$sdbar,1)))+
scale_y_continuous(limits = c(0, 1),breaks=seq(0,1,.1)) +
theme(panel.grid = element_blank()) +
theme(panel.background =element_blank())+
scale_x_discrete(breaks= c(0,1), limits = c(0,1),labels= c("x = 0", "x = 1")) +
ylab("Proportion of objective responders")
И я получаю изображение Box plot with incorrect labels, где вы можете увидеть, что метки «х = 0» и «х = 1» теперь не в нужном месте. «x = 1» находится под неправильным баром, и «x = 0» даже не появляется. Как я могу это исправить?
Возможно, вы захотите рассмотреть вопрос об установке x в качестве фактора здесь, я думаю, проблема возникает из-за смешивания непрерывной и дискретной оси. – Heroka