lets_plot.scale_fill_discrete(direction=None, name=None, breaks=None, labels=None, limits=None, na_value=None, guide=None, format=None)

Qualitative colors. Defaults to the Brewer ‘Set2’ palette (or ‘Set3’ if the categories count > 8).

  • direction ({-1, 1}, default=1) – Sets the order of colors in the scale. If 1, colors are as output by brewer palette. If -1, the order of colors is reversed.

  • name (str) – 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.

  • breaks (list) – A numeric vector of positions (of ticks).

  • labels (list of str) – A vector of labels (on ticks).

  • limits (list) – A vector specifying the data range for the scale and the default order of their display in guides.

  • na_value – Missing values will be replaced with this value.

  • guide – 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.

  • format (str) – Defines 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/pages/formats.html.


Scale specification.

Return type



Define qualitative color scale with evenly spaced hues for filling color aesthetic.


 1import numpy as np
 2from lets_plot import *
 5n = 50
 6x = np.random.rand(n)
 7y = np.random.rand(n)
 8z = np.random.rand(n)
 9ggplot() + geom_point(aes(x, y, fill=z), shape=21, size=4, color='gray') + \
10    scale_fill_discrete(guide='none')