Colorschemes
Plots supports all colorschemes from ColorSchemes.jl. They can be used as a gradient or as a palette and are passed as a symbol holding their name to cgrad
or palette
.
plot(
[x -> sin(x - a) for a in range(0, π / 2, length = 5)], 0, 2π;
palette = :Dark2_5,
)
function f(x, y)
r = sqrt(x^2 + y^2)
return cos(r) / (1 + r)
end
x = range(0, 2π, length = 30)
heatmap(x, x, f, c = :thermal)
ColorPalette
Plots chooses colors for series automatically from the palette passed to the color_palette
attribute. The attribute accepts symbols of colorscheme names or ColorPalette
objects. Color palettes can be constructed with palette(cs, [n])
where cs
can be a Symbol
, a vector of colors, a ColorScheme
, ColorPalette
or ColorGradient
. The optional argument n
decides how many colors to choose from cs
.
palette(:tab10)
palette([:purple, :green], 7)
ColorGradient
For heatmap
, surface
, contour
or line_z
, marker_z
and line_z
Plots.jl chooses colors from a ColorGradient
. If not specified, the default ColorGradient
:inferno
is used. A different gradient can be selected by passing a symbol for a colorscheme name to the seriescolor
attribute. For more detailed configuration, the color attributes also accept a ColorGradient
object. Color gradients can be constructed with
cgrad(cs, [z], alpha = nothing, rev = false, scale = nothing, categorical = nothing)
where cs
can be a Symbol
, a vector of colors, a ColorScheme
, ColorPalette
or ColorGradient
.
cgrad(:acton)
You can pass a vector of values between 0 and 1 as second argument to specify positions of color transitions.
cgrad([:orange, :blue], [0.1, 0.3, 0.8])
With rev = true
the colorscheme colors are reversed.
cgrad(:thermal, rev = true)
Setting categorical = true
returns a CategoricalColorGradient
that only chooses from a discrete set of colors without interpolating continuously. The optional second argument determines how many colors to choose from the colorscheme. They are distributed uniformly along the colorscheme colors.
cgrad(:matter, 5, categorical = true)
Categorical gradients also accept a vector for positions of color transitions and can be reversed.
cgrad(:matter, [0.1, 0.3, 0.8], rev = true, categorical = true)
The distribution of color selection can be scaled with the scale
keyword argument which accepts :log
, :log10
, :ln
, :log2
, :exp
or a function to be applied on the color position values between 0 and 1.
cgrad(:roma, scale = :log)
Categorical gradients can also be scaled.
cgrad(:roma, 10, categorical = true, scale = :exp)
Pre-defined ColorSchemes
misc
These colorschemes are not defined or provide different colors in ColorSchemes.jl They are kept for compatibility with Plots behavior before v1.1.0.
Name | Palette | Gradient |
---|---|---|
:default | ||
:blues | ||
:bluesreds | ||
:darkrainbow | ||
:darktest | ||
:grays | ||
:greens | ||
:heat | ||
:lightrainbow | ||
:lighttest | ||
:rainbow | ||
:reds | ||
:redsblues |
The following colorschemes are defined by ColorSchemes.jl.
cmocean
Name | Palette | Gradient |
---|---|---|
:algae | ||
:amp | ||
:balance | ||
:curl | ||
:deep | ||
:delta | ||
:dense | ||
:grays | ||
:haline | ||
:ice | ||
:matter | ||
:oxy | ||
:phase | ||
:solar | ||
:speed | ||
:tempo | ||
:thermal | ||
:turbid |
scientific
Name | Palette | Gradient |
---|---|---|
:acton | ||
:bamako | ||
:batlow | ||
:berlin | ||
:bilbao | ||
:broc | ||
:brocO | ||
:buda | ||
:cork | ||
:corkO | ||
:davos | ||
:devon | ||
:grayC | ||
:hawaii | ||
:imola | ||
:lajolla | ||
:lapaz | ||
:lisbon | ||
:nuuk | ||
:oleron | ||
:oslo | ||
:roma | ||
:romaO | ||
:tofino | ||
:tokyo | ||
:turku | ||
:vik | ||
:vikO |
matplotlib
Name | Palette | Gradient |
---|---|---|
:Wistia | ||
:autumn1 | ||
:binary | ||
:bone | ||
:bone_1 | ||
:brg | ||
:bwr | ||
:cool | ||
:coolwarm | ||
:copper | ||
:flag | ||
:gist_earth |