lets_plot.scale_shape(solid=True, name=None, breaks=None, labels=None, limits=None, na_value=None, guide=None, format=None)

Scale for shapes.

  • solid (bool, default=True) – Are the shapes solid (default) True, or hollow (False).

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

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

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

  • guide – A result returned by guide_legend() function or ‘none’ to 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



Scale for shapes. A continuous variable cannot be mapped to shape.


1import numpy as np
2from lets_plot import *
4x = np.arange(10)
5c = np.where(x < 5, 'a', 'b')
6ggplot({'x': x, 'y': x, 'c': c}, aes('x', 'y')) + \
7    geom_point(aes(shape='c'), size=5) + \
8    scale_shape(solid=False, name='shapes')