Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>", fig.show = "hide")
library(ggplot2)
## -----------------------------------------------------------------------------
mpg_drv_summary <- function() {
ggplot2::ggplot(ggplot2::mpg) +
ggplot2::geom_bar(ggplot2::aes(x = .data$drv)) +
ggplot2::coord_flip()
}
## ----include=FALSE------------------------------------------------------------
# make sure this function runs!
mpg_drv_summary()
## -----------------------------------------------------------------------------
#' @importFrom ggplot2 ggplot aes geom_bar coord_flip
mpg_drv_summary <- function() {
ggplot(ggplot2::mpg) +
geom_bar(aes(x = drv)) +
coord_flip()
}
## ----include=FALSE------------------------------------------------------------
# make sure this function runs!
mpg_drv_summary()
## -----------------------------------------------------------------------------
mpg_drv_summary <- function() {
ggplot(ggplot2::mpg) +
geom_bar(aes(y = drv)) +
facet_wrap(vars(year))
}
## -----------------------------------------------------------------------------
mpg_drv_summary <- function() {
ggplot(ggplot2::mpg) +
geom_bar(aes(y = .data$drv)) +
facet_wrap(vars(.data$year))
}
## -----------------------------------------------------------------------------
col_summary <- function(df, col, by) {
ggplot(df) +
geom_bar(aes(y = .data[[col]])) +
facet_wrap(vars(.data[[by]]))
}
col_summary(mpg, "drv", "year")
## ----eval = (packageVersion("rlang") >= "0.3.4.9003")-------------------------
col_summary <- function(df, col, by) {
ggplot(df) +
geom_bar(aes(y = {{ col }})) +
facet_wrap(vars({{ by }}))
}
col_summary(mpg, drv, year)
## -----------------------------------------------------------------------------
mpg_drv_dist <- structure(
c(
"4" = 103 / 234,
"f" = 106 / 234,
"r" = 25 / 234
),
class = "discrete_distr"
)
## -----------------------------------------------------------------------------
discrete_distr_data <- function(x) {
tibble::tibble(
value = names(x),
probability = as.numeric(x)
)
}
discrete_distr_data(mpg_drv_dist)
## -----------------------------------------------------------------------------
#' @importFrom ggplot2 autoplot
autoplot.discrete_distr <- function(object, ...) {
plot_data <- discrete_distr_data(object)
ggplot(plot_data, aes(.data$value, .data$probability)) +
geom_col() +
coord_flip() +
labs(x = "Value", y = "Probability")
}
## -----------------------------------------------------------------------------
#' @importFrom graphics plot
plot.discrete_distr <- function(x, ...) {
print(autoplot(x, ...))
}
## -----------------------------------------------------------------------------
#' @importFrom ggplot2 %+replace%
theme_custom <- function(...) {
theme_grey(...) %+replace%
theme(
panel.border = element_rect(linewidth = 1, fill = NA),
panel.background = element_blank(),
panel.grid = element_line(colour = "grey80")
)
}
mpg_drv_summary() + theme_custom()
## -----------------------------------------------------------------------------
default_theme <- function() {
theme_custom()
}
mpg_drv_summary2 <- function() {
mpg_drv_summary() + default_theme()
}
## -----------------------------------------------------------------------------
theme_custom <- function(...) {
`%+replace%` <- ggplot2::`%+replace%`
ggplot2::theme_grey(...) %+replace%
ggplot2::theme(panel.background = ggplot2::element_blank())
}
## ----include=FALSE------------------------------------------------------------
# make sure this function runs!
mpg_drv_summary() + theme_custom()
## ----eval=FALSE---------------------------------------------------------------
# .onLoad <- function(...) {
# if (requireNamespace("ggplot2", quietly = TRUE)) {
# vctrs::s3_register("ggplot2::autoplot", "discrete_distr")
# }
# }
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.