gpt4 book ai didi

r - ggplot2 在 x 轴上的 Year 变量结束时不断添加 .5

转载 作者:行者123 更新时间:2023-12-04 01:55:31 25 4
gpt4 key购买 nike

所以我正在尝试制作一个分组条形图,x 轴为 Year,y 轴为 Number,按 Nationality 分组并由 Municipality 刻面。下面是数据(2017 年在中间,因此未显示)。

> head(pres_munic)
Year Municipality Nationality Number
1 2016 Tapachula, Chiapas Salvadoran 2141
2 2016 Acayucán, Veracruz Salvadoran 4697
3 2016 Tuxtla Gutiérrez, Chiapas Salvadoran 2327
4 2016 Centro, Tabasco Salvadoran 1811
> tail(pres_munic)
Year Municipality Nationality Number
1328 2018 San Pedro Tapanatepec, Oaxaca Honduran 365
1329 2018 Huehuetán, Chiapas Honduran 417
1331 2018 Iztapalapa, CDMX Honduran 247
1332 2018 Saltillo, Coahulia Honduran 352

出于某种原因,ggplot2 一直使 x 轴在一个刻度上为“2016”,然后在下一个刻度上为“2016.5”,依此类推到 2018.5。我不知道为什么要这样做,因为在我的年份变量中,我在这些年之后都没有 .5。 Here是我的粗略图表的样子,在底部显示了奇怪的轴。

我的代码如下,如果乱了请见谅

ggplot(pres_munic, aes(Year, Number)) + facet_wrap(~ Municipality) + geom_bar(aes(fill = Nationality), 
width = 0.4, position = position_dodge(width=0.5), stat="identity") +
theme(legend.position="top", legend.title =
element_blank(),axis.title.x=element_blank(),
axis.title.y=element_blank())

有人知道我该如何改变它吗?或者至少让轴只显示 2016、2017、2018 年?提前致谢!

最佳答案

因为 Year 是数字,ggplot 会将其解释为可以用小数点分割的连续数据。为防止这种情况,我们可以使用 scale_x_continuous 指定刻度线的位置:

ggplot(pres_munic, aes(Year, Number)) + 
facet_wrap(~ Municipality) +
geom_bar(aes(fill = Nationality), width = 0.4, position = position_dodge(width=0.5), stat="identity") +
scale_x_continuous(breaks = 0:2100) +
theme(legend.position="top", legend.title =
element_blank(),axis.title.x=element_blank(),
axis.title.y=element_blank())

关于r - ggplot2 在 x 轴上的 Year 变量结束时不断添加 .5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50935857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com