Skip to content
Back to top
View this page

# Series

class leather.Series(data, x=None, y=None, name=None)

  Bases: `object`

  A series of data and its associated metadata.

  Series object does not modify the data it is passed.

  Parameters:

    - data –

      A sequence (rows) of sequences (columns), a.k.a. `csv.reader()` format. If the `x` and `y` are not specified then the first column is used as the X values and the second column is used for Y.

      Or, a sequence of (rows) of dicts (columns), a.k.a. `csv.DictReader` format. If this format is used then `x` and `y` arguments must specify the columns to be charted.

      Or, a custom data format, in which case `x` and `y` must specify `key_function()`.

    - x –

      If using sequence row data, then this may be either an integer index identifying the X column, or a `key_function()`.

      If using dict row data, then this may be either a key name identifying the X column, or a `key_function()`.

      If using a custom data format, then this must be a `key_function()`.`

    - y – See `x`.

    - name – An optional name to be used in labeling this series. This will be used as the chart title if rendered in a `Lattice`.

  data_type(dimension)

    Return the data type for a dimension of this series.

  data()

    Return data for this series.

  values(dimension)

    Get a flattened list of values for a given dimension of the data.

  min(dimension)

    Compute the minimum value of a given dimension.

  max(dimension)

    Compute the minimum value of a given dimension.

leather.key_function(row, index)

  This example shows how to define a function to extract X and Y values from custom data.

  Parameters:

    - row – The function will be called with the row data, in whatever format it was provided to the `Series`.

    - index – The row index in the series data will also be provided.

  Returns:

    The function must return a chartable value.