ggplot2用于带有两个相同刻度标签的条形图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ggplot2用于带有两个相同刻度标签的条形图相关的知识,希望对你有一定的参考价值。

我有一个数据集,如:

日期值标签

2016/01 2 A

2016/02 3 A

2016/03 4 A

2016/04 5 A

2016/05 4 A

2016/05 4 B.

2016/06 5 B

2016/07 6 B.

日期“2016/05”在我的数据集中出现两次。我想用ggplot2生成条形图。如何使条形图有两个相同的刻度标签?

目标数字是这样的:

答案

一种选择是创建一个新的ID列,以便在x轴上具有唯一的类别:

library(tidyverse)

df <- structure(list(Date = c("2016/01", "2016/02", "2016/03", "2016/04", 
                              "2016/05", "2016/05", "2016/06", "2016/07"), 
                     Value = c(2L, 3L,4L, 5L, 4L, 4L, 5L, 6L), 
                     Label = c("A", "A", "A", "A", "A", "B", "B", "B")), .Names = c("Date", "Value", "Label"), 
                row.names = c(NA, -8L), class = c("tbl_df", "tbl", "data.frame"))

df %>%
  unite(ID, Date, Label) %>% 
  ggplot(aes(ID, Value)) +
  geom_col()

enter image description here

或者,您可以使用Label列来表示数据,如下所示:

df %>% 
  ggplot(aes(Date, Value)) +
  geom_col() +
  facet_wrap(.~Label, scales = "free_x")

enter image description here

以上是关于ggplot2用于带有两个相同刻度标签的条形图的主要内容,如果未能解决你的问题,请参考以下文章

带有ggplot2的发散堆积条形图:图例中的因子排序问题

使用时间序列数据和scaleBand在D3条形图上指定刻度

将百分比标签添加到堆积条形图ggplot2

Matplotlib 条形图:对角刻度标签

如何在ggplot2中并排条形图上居中标签

如何使用ggplot2用正负条标记条形图