r - 如何将 stat_summary 条形图的条居中?
问题描述
我正在尝试用 R 为项目报告绘制一些图表。我已经取得了很大的成功,但我有一些只有 2 个条形的条形图,而且条形的位置很奇怪。不是真正居中,右侧空间太大。
所述图的代码:
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")
解决方案
推荐阅读
- javascript - 在静态javascript类方法中自我实例化是一种不好的做法?
- r - R中的for循环错误我找不到
- python - 对象的属性存储在同一个内存地址
- python - 初始化函数时的tensorboard ModuleNotFoundError
- sonarqube - 如何查看每个测试的代码覆盖率?
- android - MutableLiveData
to MutableLiveData - c - 为什么函数没有将输入映射到我的变量?
- bash - 在终端中使用 crontab 重新启动后继续执行脚本
- vba - 将文本添加到电子邮件线程
- python - Pandas Multindex:迭代行并添加特定值以创建新变量