首页 > 解决方案 > 如何将 stat_summary 条形图的条居中?

问题描述

我正在尝试用 R 为项目报告绘制一些图表。我已经取得了很大的成功,但我有一些只有 2 个条形的条形图,而且条形的位置很奇怪。不是真正居中,右侧空间太大。

图表现在看起来像这样: https://i.imgur.com/EmXQIAr.png

所述图的代码:

ggplot(MyData, aes(x=Geschlecht, y=Durchschnitt)) +
  coord_cartesian(xlim = c(0, 5)) +
  aes(fill = Geschlecht) +
  scale_fill_brewer(name = "Geschlecht:", labels = c("Männlich", "Weiblich")) +
  stat_summary(fun.y="mean", geom="bar") +
  stat_summary(aes(label=round(..y..,2)), fun.y=mean, geom="text", size=3, vjust = 2) +
  labs(title = "Durchschnittliche Winkelabweichung abhängig vom Geschlecht", x = "Öfters in Wäldern unterwegs", y = "Durchschnittliche Abweichung in Grad") +
  theme_gray() +
  theme(legend.title = element_text(color = "black", size = 12), legend.position="bottom", axis.title.x =element_blank(), axis.text.x=element_blank(), axis.ticks.x=element_blank())

dput(MyData) 请求的输出。数据集很小,因为它是一个小项目,但我仍然想提供适当的图表。

> dput(MyData)
structure(list(Baum_1 = c(24.2, 16.9, 13.3, 19.4, 29.5), Baum_2 = c(18.9, 
22.9, 19.1, 22.7, 32.2), Baum_3 = c(22.7, 29.8, 26, 44.6, 27.8
), Durchschnitt = c(21.9, 23.2, 19.5, 28.9, 29.8), Geschlecht = structure(c(2L, 
1L, 1L, 2L, 1L), .Label = c("Männlich", "Weiblich"), class = "factor"), 
    Alter = structure(c(3L, 2L, 2L, 2L, 1L), .Label = c("10-19", 
    "20-29", "30-39"), class = "factor"), Orientierung = structure(c(1L, 
    2L, 2L, 3L, 4L), .Label = c("Gut", "Eher_gut", "Eher_schlecht", 
    "Schlecht"), class = "factor"), Waldkenntnisse = structure(c(1L, 
    2L, 2L, 2L, 2L), .Label = c("Ja", "Nein"), class = "factor"), 
    Pfadfinder = structure(c(1L, 2L, 2L, 2L, 2L), .Label = c("Ja", 
    "Nein"), class = "factor"), Videospiele = structure(c(1L, 
    3L, 5L, 4L, 2L), .Label = c("0", ">4", ">9", ">14", ">19"
    ), class = "factor"), Virtual_Reality = structure(c(2L, 1L, 
    1L, 1L, 2L), .Label = c("Ja", "Nein"), class = "factor")), row.names = c(NA, 
-5L), class = "data.frame")

标签: rggplot2

解决方案


推荐阅读