lets_plot.scale_fill_identity(name=None, breaks=None, labels=None, limits=None, na_value=None, guide='none', format=None)

Use this scale when your data has already been scaled. I.e. it already represents aesthetic values that ggplot2 can handle directly. This will not produce a legend unless you also supply the breaks and labels.

  • name (str) – The name of the scale - used as the axis label or the legend title.

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

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

  • limits (list) – 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.

  • guide, default=’none’ – Guide to use for this scale. Defaults to ‘none’.

  • 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



Input data expected: list of strings containing:

  • names of colors (e.g. ‘green’),

  • hex codes of colors (e.g. ‘x00ff00’),

  • css colors (e.g. ‘rgb(0, 255, 0)’).


 1import numpy as np
 2from lets_plot import *
 5colors = {'red': '#e41a1c', 'green': '#4daf4a', 'blue': '#377eb8'}
 6c = np.random.choice(list(colors.values()), size=20)
 7ggplot({'c': c}, aes(x='c')) + geom_bar(aes(fill='c')) + \
 8    scale_fill_identity(guide=guide_legend(), name='color', \
 9                        breaks=list(colors.values()), \
10                        labels=list(colors.keys()))