Слияние составной гистограммы с таблицей - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть большое количество гистограмм с накоплением, и я пытаюсь отобразить их более эффективно Я хотел бы взять эти данные гистограммы и отобразить их в таблице, раскрасив ячейки таблицы процентами, отображаемыми на гистограмме.

Взяв эти данные о производстве автомобилей в качестве примера

library(ggplot2)
library(plyr)
library(reshape2)

this_base <- "fig08-12_car-production-stacked-bar-chart"

my_data <- data.frame(
  year = c("1980", "1979", "1978", "1977"),
  USA = c(22.0, 27.2, 29.1, 30.0),
  WestGermany = c(12.2, 12.7, 12.4, 12.4),
  France = c(12.0, 12.0, 11.5, 11.6), 
  Japan = c(24.3, 19.9, 19.0, 17.7),
  Other = c(29.5, 28.0, 28.0, 28.2))

my_data_long <- melt(my_data, id.vars = "year",
                 variable.name = "country", value.name = "production")

my_data_long <- arrange(my_data_long, country)

percent_sign <- function (x) { paste0(x, "%") }

p <- ggplot(my_data_long, aes(x = year, y = production, fill = country)) +
  geom_bar(stat="identity", width = 0.7) + 
  geom_bar(stat = "identity", width = 0.7, colour = "black", show_guide= FALSE) +
  scale_fill_manual(values = c("USA" = "black",  "WestGermany" = "grey50",
                               "France" = "grey30", "Japan" = "white",
                               "Other" = "grey70")) +
  scale_y_continuous(breaks = seq(0, 100, 20), limits = c(0, 100), 
                     expand = c(0, 0), labels = percent_sign) + 
  ggtitle("Fig 8.12 Car Production: Stacked Bar Chart") + 
  coord_flip() +
  theme_bw() +
  theme(panel.grid.major.x = element_line(colour = "grey60"),
    panel.grid.minor = element_blank(),
    plot.title = element_text(size = rel(1.2), face = "bold"),
    axis.title = element_blank(),
    axis.ticks.y = element_blank(),
    legend.position = "top",
    legend.title = element_blank()) 

p

ggsave(paste0(this_base, ".png"), 
   p, width = 6, height = 5)

Производство автомобилей: enter image description here

И добавление еще одного «столбца» для производства возобновляемой энергии

Мне не удалось найти способ отформатировать ячейку таблицы несколькими цветами, но я стремлюсь к чему-то вроде этого:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...