|
|
@ -35,6 +35,7 @@ show_stateface <- function() { |
|
|
|
#' |
|
|
|
#' @export |
|
|
|
load_stateface <- function() { |
|
|
|
if (interactive()) message("Loading stateface device fonts...") |
|
|
|
if (!any(grepl("StateFace", extrafont::fonts()))) { |
|
|
|
tmp <- capture.output(suppressWarnings(extrafont::ttf_import( |
|
|
|
system.file("fonts/", package="ggalt"), |
|
|
@ -62,6 +63,25 @@ load_stateface <- function() { |
|
|
|
#' on discrete scales. |
|
|
|
#' @inheritParams ggplot2::geom_text |
|
|
|
#' @export |
|
|
|
#' @examples |
|
|
|
#' library(ggplot2) |
|
|
|
#' library(ggalt) |
|
|
|
#' |
|
|
|
#' # Run show_stateface() to see the location of the TTF StateFace font |
|
|
|
#' # You need to install it for it to work |
|
|
|
#' |
|
|
|
#' set.seed(1492) |
|
|
|
#' dat <- data.frame(state=state.abb, |
|
|
|
#' x=sample(100, 50), |
|
|
|
#' y=sample(100, 50), |
|
|
|
#' col=sample(c("#b2182b", "#2166ac"), 50, replace=TRUE), |
|
|
|
#' sz=sample(6:15, 50, replace=TRUE), |
|
|
|
#' stringsAsFactors=FALSE) |
|
|
|
#' gg <- ggplot(dat, aes(x=x, y=y)) |
|
|
|
#' gg <- gg + geom_stateface(aes(label=state, color=col, size=sz)) |
|
|
|
#' gg <- gg + scale_color_identity() |
|
|
|
#' gg <- gg + scale_size_identity() |
|
|
|
#' gg |
|
|
|
geom_stateface <- function(mapping = NULL, data = NULL, stat = "identity", |
|
|
|
position = "identity", ..., parse = FALSE, |
|
|
|
nudge_x = 0, nudge_y = 0, check_overlap = FALSE, |
|
|
@ -140,6 +160,7 @@ GeomStateface <- ggproto("GeomStateface", Geom, |
|
|
|
}, |
|
|
|
|
|
|
|
draw_key = draw_key_text |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
compute_just <- function(just, x) { |
|
|
|