library(tidyverse)
library(fbcutils)
# Produce a grob to be used as for panel backgrounds
guide_grid2 <- function(theme, x.minor, x.major, y.minor, y.major) {
x.minor <- setdiff(x.minor, x.major)
y.minor <- setdiff(y.minor, y.major)
ggplot2:::ggname("grill", grid::grobTree(
ggplot2:::element_render(theme, "panel.background"),
if (length(y.minor) > 0) ggplot2:::element_render(
theme, "panel.grid.minor.x",
x = rep(0:1, length(y.minor)), y = rep(y.minor, each = 2),
id.lengths = rep(2, length(y.minor))
),
if (length(x.minor) > 0) ggplot2:::element_render(
theme, "panel.grid.minor.y",
x = rep(x.minor, each = 2), y = rep(0:1, length(x.minor)),
id.lengths = rep(2, length(x.minor))
),
if (length(y.major) > 0) ggplot2:::element_render(
theme, "panel.grid.major.x",
x = rep(0:1, length(y.major)), y = rep(y.major, each = 2),
id.lengths = rep(2, length(y.major))
),
if (length(x.major) > 0) ggplot2:::element_render(
theme, "panel.grid.major.y",
x = rep(x.major, each = 2), y = rep(0:1, length(x.major)),
id.lengths = rep(2, length(x.major))
)
))
}
CoordFlip$render_bg <- function(panel_params, theme) {
x.major <- if (length(panel_params$x.major) > 0) unit(panel_params$x.major, "native")
x.minor <- if (length(panel_params$x.minor) > 0) unit(panel_params$x.minor, "native")
y.major <- if (length(panel_params$y.major) > 0) unit(panel_params$y.major, "native")
y.minor <- if (length(panel_params$y.minor) > 0) unit(panel_params$y.minor, "native")
guide_grid2(theme, x.minor, x.major, y.minor, y.major)
}
theme_thl <- function() {
theme_minimal() %+replace%
theme(panel.grid.major.x = element_blank(),
panel.grid.minor = element_blank(),
axis.title.x = element_text(hjust = 1),
axis.title.y = element_text(vjust = 1))
}
data <- tribble(
~alue, ~p,
"hus", 0.3,
"ahvenanmaa", 0.28,
"vsshp", 0.195,
"kymshp", 0.04,
"vaasan shp", 0.03,
"others", 0.16
)
p <- data %>%
mutate(alue = str_to_upper(alue) %>% as_factor() %>% fct_rev()) %>%
ggplot(aes(alue, p)) +
geom_col(show.legend = FALSE, fill = thl_green) +
scale_y_continuous(
labels = scales::number_format(decimal.mark = ",", accuracy = 0.1),
expand = expand_scale(c(0, 0.01))
) +
theme_thl() +
labs(x = NULL, y = "%")
pp + coord_flip()Created on 2018-09-21 by the reprex package (v0.2.0.9000).

