lets_plot.scale_gradientn(aesthetic, *, colors=None, name=None, breaks=None, labels=None, lablim=None, limits=None, na_value=None, guide=None, trans=None, format=None)#

Define smooth color gradient between multiple colors for the specified aesthetics.

aestheticstr or list

The name(s) of the aesthetic(s) that this scale works with.


Gradient colors list.


The name of the scale - used as the axis label or the legend title. If None, the default, the name of the scale is taken from the first mapping used for that aesthetic.

breakslist or dict

A list of data values specifying the positions of ticks, or a dictionary which maps the tick labels to the breaks values.

labelslist of str or dict

A list of labels on ticks, or a dictionary which maps the breaks values to the tick labels.


Continuous scale: a numeric vector of length two providing limits of the scale. Discrete scale: a vector specifying the data range for the scale and the default order of their display in guides.

lablimint, default=None

The maximum label length (in characters) before trimming is applied.


Missing values will be replaced with this value.


Guide to use for this scale. It can either be a string (‘colorbar’, ‘legend’) or a call to a guide function (guide_colorbar(), guide_legend()) specifying additional arguments. ‘none’ will hide the guide.

trans{‘identity’, ‘log10’, ‘log2’, ‘symlog’, ‘sqrt’, ‘reverse’}

Name of built-in transformation.


Define the format for labels on the scale. The syntax resembles Python’s:

  • ‘.2f’ -> ‘12.45’

  • ‘Num {}’ -> ‘Num 12.456789’

  • ‘TTL: {.2f}$’ -> ‘TTL: 12.45$’

For more info see https://lets-plot.org/python/pages/formats.html.

FeatureSpec or FeatureSpecArray

Scales specification.


Define smooth color gradient between multiple colors for the specified aesthetics.


1from lets_plot import *
3x = list(range(-25, 26))
4colors = ["#e41a1c", "#e41a1c", "#e41a1c", "#4daf4a", "#377eb8"]
5ggplot({'x': x}, aes(x='x')) + \
6    geom_tile(aes(color='x', fill='x'),size=3) + \
7    scale_gradientn(aesthetic=['color', 'fill'], colors=colors) + \
8    coord_cartesian() + \
9    ggsize(600, 200)