lets_plot.scale_size_area(max_size=None, name=None, breaks=None, labels=None, limits=None, na_value=None, guide=None, trans=None, format=None)

Continuous scale for size that maps 0 to 0.

  • max_size (float) – The max size that is mapped to.

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

  • trans ({‘identity’, ‘log10’, ‘sqrt’, ‘reverse’}) – Name of built-in transformation.

  • 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



This method maps 0 data to 0 size. Useful in some stats such as count.


 1import numpy as np
 2from lets_plot import *
 5n = 50
 6x = np.random.rand(n)
 7y = np.random.rand(n)
 8area = np.power(np.random.uniform(30, size=n), 2)
 9ggplot() + geom_point(aes(x, y, size=area), alpha=0.7) + \
10    scale_size_area(max_size=15)