|
32 | 32 | #' d + scale_colour_brewer(type = "seq")
|
33 | 33 | #' d + scale_colour_brewer(type = "seq", palette = 3)
|
34 | 34 | #'
|
35 |
| -#' d + scale_colour_brewer(palette = "Blues") |
| 35 | +#' d + scale_colour_brewer(palette = "Greens") |
36 | 36 | #' d + scale_colour_brewer(palette = "Set1")
|
37 | 37 | #'
|
38 | 38 | #' # scale_fill_brewer works just the same as
|
39 | 39 | #' # scale_colour_brewer but for fill colours
|
40 |
| -#' ggplot(diamonds, aes(x = price, fill = cut)) + |
41 |
| -#' geom_histogram(position = "dodge", binwidth = 1000) + |
42 |
| -#' scale_fill_brewer() |
| 40 | +#' p <- ggplot(diamonds, aes(x = price, fill = cut)) + |
| 41 | +#' geom_histogram(position = "dodge", binwidth = 1000) |
| 42 | +#' p + scale_fill_brewer() |
| 43 | +#' # the order of colour can be reversed |
| 44 | +#' p + scale_fill_brewer(direction = -1) |
| 45 | +#' # the brewer scales look better on a darker background |
| 46 | +#' p + scale_fill_brewer(direction = -1) + theme_dark() |
43 | 47 | #'
|
44 | 48 | #' # Generate map data
|
45 | 49 | #' library(reshape2) # for melt
|
|
54 | 58 | #' v + scale_fill_distiller(palette = 2)
|
55 | 59 | #' v + scale_fill_distiller(type = "div")
|
56 | 60 | #' v + scale_fill_distiller(palette = "Spectral")
|
57 |
| -#' v + scale_fill_distiller(palette = "Spectral", trans = "reverse") |
58 | 61 | #' v + scale_fill_distiller(type = "qual")
|
59 | 62 | #' # Not appropriate for continuous data, issues a warning
|
60 |
| -scale_colour_brewer <- function(..., type = "seq", palette = 1) { |
61 |
| - discrete_scale("colour", "brewer", brewer_pal(type, palette), ...) |
| 63 | +scale_colour_brewer <- function(..., type = "seq", palette = 1, direction = 1) { |
| 64 | + discrete_scale("colour", "brewer", brewer_pal(type, palette, direction), ...) |
62 | 65 | }
|
63 | 66 |
|
64 | 67 | #' @export
|
65 | 68 | #' @rdname scale_brewer
|
66 |
| -scale_fill_brewer <- function(..., type = "seq", palette = 1) { |
67 |
| - discrete_scale("fill", "brewer", brewer_pal(type, palette), ...) |
| 69 | +scale_fill_brewer <- function(..., type = "seq", palette = 1, direction = 1) { |
| 70 | + discrete_scale("fill", "brewer", brewer_pal(type, palette, direction), ...) |
68 | 71 | }
|
69 | 72 |
|
70 | 73 | #' @export
|
71 | 74 | #' @rdname scale_brewer
|
72 |
| -scale_colour_distiller <- function(..., type = "seq", palette = 1, values = NULL, space = "Lab", na.value = "grey50", guide = "colourbar") { |
| 75 | +scale_colour_distiller <- function(..., type = "seq", palette = 1, direction = -1, values = NULL, space = "Lab", na.value = "grey50", guide = "colourbar") { |
73 | 76 | # warn about using a qualitative brewer palette to generate the gradient
|
74 | 77 | type <- match.arg(type, c("seq", "div", "qual"))
|
75 | 78 | if (type == "qual") {
|
76 | 79 | warning("Using a discrete colour palette in a continuous scale.\n Consider using type = \"seq\" or type = \"div\" instead", call. = FALSE)
|
77 | 80 | }
|
78 | 81 | continuous_scale("colour", "distiller",
|
79 |
| - gradient_n_pal(rev(brewer_pal(type, palette)(6)), values, space), na.value = na.value, guide = guide, ...) |
| 82 | + gradient_n_pal(brewer_pal(type, palette, direction)(6), values, space), na.value = na.value, guide = guide, ...) |
80 | 83 | # NB: 6 colours per palette gives nice gradients; more results in more saturated colours which do not look as good
|
81 | 84 | }
|
82 | 85 |
|
83 | 86 | #' @export
|
84 | 87 | #' @rdname scale_brewer
|
85 |
| -scale_fill_distiller <- function(..., type = "seq", palette = 1, values = NULL, space = "Lab", na.value = "grey50", guide = "colourbar") { |
| 88 | +scale_fill_distiller <- function(..., type = "seq", palette = 1, direction = -1, values = NULL, space = "Lab", na.value = "grey50", guide = "colourbar") { |
86 | 89 | type <- match.arg(type, c("seq", "div", "qual"))
|
87 | 90 | if (type == "qual") {
|
88 | 91 | warning("Using a discrete colour palette in a continuous scale.\n Consider using type = \"seq\" or type = \"div\" instead", call. = FALSE)
|
89 | 92 | }
|
90 | 93 | continuous_scale("fill", "distiller",
|
91 |
| - gradient_n_pal(rev(brewer_pal(type, palette)(6)), values, space), na.value = na.value, guide = guide, ...) |
| 94 | + gradient_n_pal(brewer_pal(type, palette, direction)(6), values, space), na.value = na.value, guide = guide, ...) |
92 | 95 | }
|
93 | 96 |
|
94 | 97 | # icon.brewer <- function() {
|
|
0 commit comments