mnsl(c("2.5PB 2/4", "2.5PB 7/10")
. Generally, for continuous
colour scales you want to keep hue constant, but vary chroma and
luminance. The scale_colour_gradient(..., low = "#132B43", high = "#56B1F7",
space = "Lab", na.value = "grey50", guide = "colourbar")scale_fill_gradient(..., low = "#132B43", high = "#56B1F7", space = "Lab",
na.value = "grey50", guide = "colourbar")
scale_colour_continuous(..., low = "#132B43", high = "#56B1F7",
space = "Lab", na.value = "grey50", guide = "colourbar")
scale_fill_continuous(..., low = "#132B43", high = "#56B1F7",
space = "Lab", na.value = "grey50", guide = "colourbar")
scale_color_continuous(..., low = "#132B43", high = "#56B1F7",
space = "Lab", na.value = "grey50", guide = "colourbar")
scale_color_gradient(..., low = "#132B43", high = "#56B1F7",
space = "Lab", na.value = "grey50", guide = "colourbar")
"colourbar"
for continuous
colour bar, or "legend"
for discrete colour legend.discrete_scale
to control name, limits, breaks, labels and so forth.seq_gradient_pal
for details on underlying
paletteOther colour scales: scale_color_brewer
,
scale_color_distiller
,
scale_colour_brewer
,
scale_colour_distiller
,
scale_fill_brewer
,
scale_fill_distiller
;
scale_color_discrete
,
scale_color_hue
,
scale_colour_discrete
,
scale_colour_hue
,
scale_fill_discrete
,
scale_fill_hue
;
scale_color_gradient2
,
scale_colour_gradient2
,
scale_fill_gradient2
;
scale_color_gradientn
,
scale_colour_gradientn
,
scale_fill_gradientn
;
scale_color_grey
,
scale_colour_grey
,
scale_fill_grey
# It's hard to see, but look for the bright yellow dot
# in the bottom right hand corner
dsub <- subset(diamonds, x > 5 & x < 6 & y > 5 & y < 6)
(d <- qplot(x, y, data=dsub, colour=z))
# That one point throws our entire scale off. We could
# remove it, or manually tweak the limits of the scale
# Tweak scale limits. Any points outside these limits will not be
# plotted, and will not affect the calculation of statistics, etc
d + scale_colour_gradient(limits=c(3, 10))
d + scale_colour_gradient(limits=c(3, 4))
# Setting the limits manually is also useful when producing
# multiple plots that need to be comparable
# Alternatively we could try transforming the scale:
d + scale_colour_gradient(trans = "log")
d + scale_colour_gradient(trans = "sqrt")
# Other more trivial manipulations, including changing the name
# of the scale and the colours.
d + scale_colour_gradient("Depth")
d + scale_colour_gradient(expression(Depth[mm]))
d + scale_colour_gradient(limits=c(3, 4), low="red")
d + scale_colour_gradient(limits=c(3, 4), low="red", high="white")
# Much slower
d + scale_colour_gradient(limits=c(3, 4), low="red", high="white", space="Lab")
d + scale_colour_gradient(limits=c(3, 4), space="Lab")
# scale_fill_continuous works similarly, but for fill colours
(h <- qplot(x - y, data=dsub, geom="histogram", binwidth=0.01, fill=..count..))
h + scale_fill_continuous(low="black", high="pink", limits=c(0,3100))
# Colour of missing values is controlled with na.value:
miss <- sample(c(NA, 1:5), nrow(mtcars), rep = TRUE)
qplot(mpg, wt, data = mtcars, colour = miss)
qplot(mpg, wt, data = mtcars, colour = miss) +
scale_colour_gradient(na.value = "black")
Run the code above in your browser using DataLab