ggplot显示数据表底部的图形

问题描述 投票:2回答:1

我想在图表底部显示一个数据表,类似于:

我一直在尝试this帖子中的代码,但它不能在我的RStudio版本1.1.383中运行。

该图的数据框是:

Pay.Quartiles = rep(c("lower", "lower.mid", "upper.mid", "upper"),2)
Gender = rep (c("Female", "Male"), each = 4)
Percentage = c(65.1,57.5,47.4, 41.3, 34.9, 42.5, 52.6, 58.7)

df = data.frame (Pay.Quartiles, Gender, Percentage)
r ggplot2
1个回答
4
投票

一些数据争论(以获得更好的标签)和一些条带放置调整的组合应该可以解决这个问题:

library(hrbrthemes) # gitlab.com/hrbrmstr/hrbrthemes or github
library(ggplot2)

Pay.Quartiles <-  rep(c("Lower", "Lower Middle", "Upper Middle", "Upper"), 2)
Gender <-  rep(c("Female", "Male"), each = 4)
Percentage <-  c(65.1,57.5,47.4, 41.3, 34.9, 42.5, 52.6, 58.7)/100

xdf <- data.frame (Pay.Quartiles, Gender, Percentage, stringsAsFactors=FALSE)

xdf$lab <- sprintf("%s\n%s", Gender, scales::percent(Percentage))

ggplot(xdf) +
  geom_col(
    aes(lab, Percentage, fill = Gender), 
    width = 0.5, show.legend = FALSE
  ) +
  facet_wrap(
    ~Pay.Quartiles, scales = "free_x", nrow = 1, strip.position = "bottom"
  ) +
  hrbrthemes::scale_y_percent() +
  hrbrthemes::scale_fill_ipsum() +
  labs(x = NULL, y = NULL) +
  hrbrthemes::theme_ipsum_rc(grid = "Y") +
  theme(strip.placement = "outside") +
  theme(strip.text = element_text(hjust=0.5)) +
  theme(panel.spacing.x = unit(0.33, "lines"))

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.