【问题标题】:R ggplotly with facet_wrap : axis tick size not changing for all plots带有 facet_wrap 的 R ggplotly:所有图的轴刻度大小都不会改变
【发布时间】:2019-08-13 16:34:33
【问题描述】:

我需要使用 ggplotly 使用 facet_wrap 创建以下绘图。一切都好,唯一的问题是调整轴刻度标签的大小仅适用于左侧图! 任何想法如何解决这一问题?我故意放了一个小得离谱的尺寸来指出差异。

提前致谢。

library(ggplot2)
library(plotly)

data <- data.frame(group = c('groupe A', 'groupe A', 'groupe A', 'groupe A',
                             'groupe B', 'groupe B', 'groupe B', 'groupe B'), 
                   level = c('book', 'cd', 'book', 'cd', 'book', 'cd', 'book', 'cd'),
                   type = c('with', 'with', 'without', 'without',
                            'with', 'with', 'without', 'without'),
                   values = c(6,0, 12, 4, 7, 11, 13, 5))


ggplotly(
  ggplot(data) +
    geom_bar(aes(x = level, y = values, fill = type), stat = "identity", position = "dodge") +
    geom_text(aes(x = level, y = values+0.5, fill = type, label = values),
              position = position_dodge(width = 1), size = 3) +
    scale_fill_manual(values = c(rgb(31, 119, 180, maxColorValue = 255), rgb(59, 159, 255, maxColorValue = 255))) +
    theme_bw() +
    theme(axis.title = element_blank(),
          legend.title = element_blank(),
          axis.line = element_blank(), 
          panel.border = element_rect(color = "black", fill = NA, size = 0.5)
    ) +
    facet_wrap(~group)
) %>%
  layout(
    showlegend = TRUE,
    legend = list(orientation = "h", y = -0.1, x = 0.3),
    xaxis = list(tickfont = list(size = 5))
  )

【问题讨论】:

    标签: r plotly r-plotly ggplotly


    【解决方案1】:

    嗯,我找到了答案。最好在 ggplot 主题中提及尺寸:

    ggplotly(
      ggplot(data) +
        geom_bar(aes(x = level, y = values, fill = type), stat = "identity", position = "dodge") +
        geom_text(aes(x = level, y = values+0.5, fill = type, label = values),
                  position = position_dodge(width = 1), size = 3) +
        scale_fill_manual(values = c(rgb(31, 119, 180, maxColorValue = 255), rgb(59, 159, 255, maxColorValue = 255))) +
        theme_bw() +
        theme(axis.title = element_blank(),
              legend.title = element_blank(),
              axis.line = element_blank(), 
              axis.text.x = element_text(size = 5), 
              panel.border = element_rect(color = "black", fill = NA, size = 0.5)
        ) +
        facet_wrap(~group)
    ) 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-16
      • 1970-01-01
      • 2021-10-29
      • 2023-03-28
      • 2016-12-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多