lets_plot.scale_manual(aesthetic, values, *, name=None, breaks=None, labels=None, lablim=None, limits=None, na_value=None, guide=None, format=None)#

Create your own discrete scale for the specified aesthetics.

aestheticstr or list

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

valueslist of str or dict

A set of aesthetic values to map data values to. If this is a list, the values will be matched in order (usually alphabetical) with the limits of the scale. If a dictionary, then the values will be matched based on the names.


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.

lablimint, default=None

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


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.


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.


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.


Create your own scales for the specified aesthetics.


1from lets_plot import *
3x = list(range(9))
4ggplot({'x': x, 'y': x}, aes('x', 'y')) + \
5    geom_point(aes(color='x', fill='x'), shape=21, size=5) + \
6    scale_manual(aesthetic=['color', 'fill'], values=['red', 'green', 'blue'], name='color', \
7                 breaks=[2, 4, 7], labels=['red', 'green', 'blue'])