Skip to content

Commit db7738d

Browse files
committed
Merge pull request #1076 from jiho/fix/scale_distiller
Improvements to scale_*_distiller
2 parents a8f73e0 + 6a6db4a commit db7738d

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

NEWS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ ggplot2 1.0.1
5959

6060
* Fixes to pass `R CMD check --run-donttest` in R-devel.
6161

62+
* Improvements in to order of colours and legend display of continuous colour
63+
scales extracted from colorbrewer palettes in `scale_*_distiller()` (@jiho, 1076)
64+
6265
ggplot2 1.0.0
6366
----------------------------------------------------------------
6467

R/scale-brewer.r

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,26 +67,26 @@ scale_fill_brewer <- function(..., type = "seq", palette = 1) {
6767

6868
#' @export
6969
#' @rdname scale_brewer
70-
scale_colour_distiller <- function(..., type = "seq", palette = 1, values = NULL, space = "Lab", na.value = "grey50") {
70+
scale_colour_distiller <- function(..., type = "seq", palette = 1, values = NULL, space = "Lab", na.value = "grey50", guide = "colourbar") {
7171
# warn about using a qualitative brewer palette to generate the gradient
7272
type <- match.arg(type, c("seq", "div", "qual"))
7373
if (type == "qual") {
7474
warning("Using a discrete colour palette in a continuous scale.\n Consider using type = \"seq\" or type = \"div\" instead", call. = FALSE)
7575
}
7676
continuous_scale("colour", "distiller",
77-
gradient_n_pal(brewer_pal(type, palette)(6), values, space), na.value = na.value, ...)
77+
gradient_n_pal(rev(brewer_pal(type, palette)(6)), values, space), na.value = na.value, guide = guide, ...)
7878
# NB: 6 colours per palette gives nice gradients; more results in more saturated colours which do not look as good
7979
}
8080

8181
#' @export
8282
#' @rdname scale_brewer
83-
scale_fill_distiller <- function(..., type = "seq", palette = 1, values = NULL, space = "Lab", na.value = "grey50") {
83+
scale_fill_distiller <- function(..., type = "seq", palette = 1, values = NULL, space = "Lab", na.value = "grey50", guide = "colourbar") {
8484
type <- match.arg(type, c("seq", "div", "qual"))
8585
if (type == "qual") {
8686
warning("Using a discrete colour palette in a continuous scale.\n Consider using type = \"seq\" or type = \"div\" instead", call. = FALSE)
8787
}
8888
continuous_scale("fill", "distiller",
89-
gradient_n_pal(brewer_pal(type, palette)(6), values, space), na.value = na.value, ...)
89+
gradient_n_pal(rev(brewer_pal(type, palette)(6)), values, space), na.value = na.value, guide = guide, ...)
9090
}
9191

9292
# icon.brewer <- function() {

man/scale_brewer.Rd

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ scale_colour_brewer(..., type = "seq", palette = 1)
1414
scale_fill_brewer(..., type = "seq", palette = 1)
1515

1616
scale_colour_distiller(..., type = "seq", palette = 1, values = NULL,
17-
space = "Lab", na.value = "grey50")
17+
space = "Lab", na.value = "grey50", guide = "colourbar")
1818

1919
scale_fill_distiller(..., type = "seq", palette = 1, values = NULL,
20-
space = "Lab", na.value = "grey50")
20+
space = "Lab", na.value = "grey50", guide = "colourbar")
2121

2222
scale_color_brewer(..., type = "seq", palette = 1)
2323

2424
scale_color_distiller(..., type = "seq", palette = 1, values = NULL,
25-
space = "Lab", na.value = "grey50")
25+
space = "Lab", na.value = "grey50", guide = "colourbar")
2626
}
2727
\arguments{
2828
\item{...}{Other arguments passed on to \code{\link{discrete_scale}}
@@ -42,6 +42,9 @@ to map an arbitrary range to between 0 and 1.}
4242
best unless gradient goes through white.}
4343

4444
\item{na.value}{Colour to use for missing values}
45+
46+
\item{guide}{Type of legend. Use \code{"colourbar"} for continuous
47+
colour bar, or \code{"legend"} for discrete colour legend.}
4548
}
4649
\description{
4750
ColorBrewer provides sequential, diverging and qualitative colour schemes

0 commit comments

Comments
 (0)