【问题标题】:Add second x-axis to ggplot将第二个 x 轴添加到 ggplot
【发布时间】:2021-04-10 12:01:59
【问题描述】:

我建立了这个情节:

df_ebf <- df_ebf %>%
  map_df(rev)

labels.minor <- c("nie","selten","manchmal", "mehrmals", "oft", "sehr oft", "immerzu")

ggplot(data=df_ebf, aes(x=forcats::fct_inorder(Skalen), y=Werte, group="")) +
  geom_line(color = "#003560") +
  geom_point(color = "#003560") +
  coord_flip() +
  labs(x="EBF-Skalen") +
  scale_y_continuous(limits = c(0, 6), breaks = c(0,1,2,3,4,5,6), sec.axis = dup_axis(),expand = c(0,0)) +
  scale_x_discrete(expand = c(0,0)) +
  theme(panel.grid.major.y = element_blank(),panel.grid.minor.x = element_blank(),axis.line.x = element_line(size = 1, colour = "black", linetype=1),axis.title=element_blank())

现在我想在较低的 x 轴下方添加第二个 x 轴,带有 label.minor。

我在论坛中寻找解决方案时找到了thisthis,但它不适用于我的情况。

【问题讨论】:

    标签: r ggplot2 x-axis


    【解决方案1】:

    如果您的labels.minor 位于中断的确切位置,您可以简单地将标签与换行符粘贴在一起。示例如下:

    library(ggplot2)
    
    df <- data.frame(
      x = runif(10, min = 0, max = 6),
      y = letters[1:10]
    )
    
    labels.minor <- c("nie","selten","manchmal", "mehrmals", "oft", "sehr oft", "immerzu")
    
    ggplot(df, aes(x, y)) +
      geom_path(aes(group = -1)) +
      geom_point() +
      scale_x_continuous(limits = c(0, 6), breaks = 0:6,
                         labels = paste0(0:6, "\n", labels.minor),
                         sec.axis = sec_axis(~.x, breaks = 0:6))
    

    reprex package (v1.0.0) 于 2021-04-10 创建

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-16
      • 2014-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-17
      • 1970-01-01
      相关资源
      最近更新 更多