lets_plot.scale_y_datetime(name=None, *, breaks=None, labels=None, lablim=None, limits=None, expand=None, na_value=None, format=None, position=None)#

Position scale y for date/time data.


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.


A vector of length two providing limits of the scale.

expandlist of two numbers

A numeric vector of length two giving multiplicative and additive expansion constants. The vector size == 1 => only multiplicative expand (and additive expand by default). Defaults: multiplicative = 0.05, additive = 0.


Missing values will be replaced with this value.


Define the format for labels on the scale. The syntax resembles Python’s:

  • ‘%d.%m.%y’ -> ‘06.08.19’

  • ‘%B %Y’ -> ‘August 2019’

  • ‘%a, %e %b %Y %H:%M:%S’ -> ‘Tue, 6 Aug 2019 04:46:35’

For more info see https://lets-plot.org/python/pages/formats.html.


The position of the axis:

  • ‘left’, ‘right’ or ‘both’ for y-axis;

  • ‘top’, ‘bottom’ or ‘both’ for x-axis.


Scale specification.


 1import datetime as dt
 2from lets_plot import *
 4n = 12
 5rcount = lambda m: 1 if m < 2 else rcount(m - 1) + rcount(m - 2)
 6data = {
 7    'date': [dt.datetime(2020, m, 1) for m in range(1, n + 1)],
 8    'rabbits count': [rcount(m) for m in range(1, n + 1)],
10ggplot(data) + \
11    geom_segment(aes(x=[0] * n, y='date', xend='rabbits count', yend='date'), size=3, \
12                 tooltips=layer_tooltips().line('@|@{rabbits count}')) + \
13    scale_y_datetime(format='%b') + \
14    xlab('rabbits count')