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

标签 r ggplot2 visualization

所以我正在尝试制作一个分组条形图,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/

相关文章:

python - 你如何将星级评分作为可视化

r - 加速分位数计算

r - 如何使用R对大型数据集有效地检查点是否在多边形中?

python - 使用 rpy2 和 ggplot2 制作图表

r - ggplot2:使用选定的面和零件数据创建绘图

python - 如何获取使用 "melt"分组的 seaborn 计数图中条形上方的值

使用 readOGR 读取 geojson

r - 你如何改变knitr中kable输出表中单元格的颜色

r - 具有新默认颜色的 ggplot2 几何图形

r - 如何创建一个 "Clustergram"的情节? (在 R 中)