__init__ Module#

__init__ Module#

HoloViews makes data analysis and visualization simple#

HoloViews lets you focus on what you are trying to explore and convey, not on the process of plotting.

HoloViews

  • supports a wide range of data sources including Pandas, Dask, XArray

Rapids cuDF, Streamz, Intake, Geopandas, NetworkX and Ibis. - supports the plotting backends Bokeh (default), Matplotlib and Plotly. - allows you to drop into the rest of the HoloViz ecosystem when more power or flexibility is needed.

For basic data exploration we recommend using the higher level hvPlot package, which provides the familiar Pandas .plot api. You can drop into HoloViews when needed.

To learn more check out https://holoviews.org/. To report issues or contribute go to holoviz/holoviews. To join the community go to https://discourse.holoviz.org/.

How to use HoloViews in 3 simple steps#

Work with the data source you already know and ❤️

>>> import pandas as pd
>>> station_info = pd.read_csv('https://raw.githubusercontent.com/holoviz/holoviews/main/examples/assets/station_info.csv')

Import HoloViews and configure your plotting backend

>>> import holoviews as hv
>>> hv.extension('bokeh')

Annotate your data

>>> scatter = (
...     hv.Scatter(station_info, kdims='services', vdims='ridership')
...     .redim(
...         services=hv.Dimension("services", label='Services'),
...         ridership=hv.Dimension("ridership", label='Ridership'),
...     )
...     .opts(size=10, color="red", responsive=True)
... )
>>> scatter

In a notebook this will display a nice scatter plot.

Note that the kdims (The key dimension(s)) represents the independent variable(s) and the vdims (value dimension(s)) the dependent variable(s).

For more check out https://holoviews.org/getting_started/Introduction.html

How to get help#

You can understand the structure of your objects by printing them.

>>> print(scatter)
:Scatter   [services]   (ridership)

You can get extensive documentation using hv.help.

>>> hv.help(scatter)

In a notebook or ipython environment the usual

  • help and ? will provide you with documentation.

  • TAB and SHIFT+TAB completion will help you navigate.

To ask the community go to https://discourse.holoviz.org/. To report issues go to holoviz/holoviews.

class holoviews.__init__.AdjointLayout(data, **params)[source]#

Bases: Layoutable, Dimensioned

An AdjointLayout provides a convenient container to lay out some marginal plots next to a primary plot. This is often useful to display the marginal distributions of a plot next to the primary plot. AdjointLayout accepts a list of up to three elements, which are laid out as follows with the names ‘main’, ‘top’ and ‘right’:

3 | |

|___________|___| | | | 1: main | | | 2: right | 1 | 2 | 3: top | | | |___________|___|

Parameters inherited from:

kdims = param.List(allow_refs=False, bounds=(0, None), constant=True, default=[Dimension(‘AdjointLayout’)], label=’Kdims’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11acb13d0>)

The key dimensions defined as list of dimensions that may be used in indexing (and potential slicing) semantics. The order of the dimensions listed here determines the semantics of each component of a multi-dimensional indexing operation. Aliased with key_dimensions.

clone(data=None, shared_data=True, new_type=None, link=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

property ddims#

The list of deep dimensions

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Applies to the main object in the AdjointLayout.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get(key, default=None)[source]#

Returns the viewable corresponding to the supplied string or integer based key.

Args:

key: Numeric or string index: 0) ‘main’ 1) ‘right’ 2) ‘top’ default: Value returned if key not found

Returns:

Indexed value or supplied default

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

property group#

Group inherited from main element

property label#

Label inherited from main element

property main#

Returns the main element in the AdjointLayout

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

range(dimension, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

relabel(label=None, group=None, depth=1)[source]#

Clone object and apply new group and/or label.

Applies relabeling to child up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

property right#

Returns the right marginal element in the AdjointLayout

select(selection_specs=None, **kwargs)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

Args:
selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

property top#

Returns the top marginal element in the AdjointLayout

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.Annotation(data, **params)[source]#

Bases: Element2D

An Annotation is a special type of element that is designed to be overlaid on top of any arbitrary 2D element. Annotations have neither key nor value dimensions allowing them to be overlaid over any type of data.

Note that one or more Annotations can be displayed without being overlaid on top of any other data. In such instances (by default) they will be displayed using the unit axis limits (0.0-1.0 in both directions) unless an explicit ‘extents’ parameter is supplied. The extents of the bottom Annotation in the Overlay is used when multiple Annotations are displayed together.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’Annotation’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11a407c90>)

A string describing the data wrapped by the object.

kdims = param.List(allow_refs=False, bounds=(2, 2), default=[Dimension(‘x’), Dimension(‘y’)], label=’Kdims’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11a330190>)

The key dimensions defined as list of dimensions that may be used in indexing (and potential slicing) semantics. The order of the dimensions listed here determines the semantics of each component of a multi-dimensional indexing operation. Aliased with key_dimensions.

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(*args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

closest(coords, **kwargs)[source]#

Snap list or dict of coordinates to closest position.

Args:

coords: List of 1D or 2D coordinates **kwargs: Coordinates specified as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

range(dimension, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reduction)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The element after reductions have been applied.

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=False, **sample_values)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_specs=None, **kwargs)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

Args:
selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.Area(data=None, kdims=None, vdims=None, **kwargs)[source]#

Bases: Curve

Area is a Chart element representing the area under a curve or between two curves in a 1D coordinate system. The key dimension represents the location of each coordinate along the x-axis, while the value dimension(s) represent the height of the area or the lower and upper bounds of the area between curves.

Multiple areas may be stacked by overlaying them an passing them to the stack method.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’Area’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11aecf1d0>)

A string describing the data wrapped by the object.

add_dimension(dimension, dim_pos, dim_val, vdim=False, **kwargs)[source]#

Adds a dimension and its values to the Dataset

Requires the dimension name or object, the desired position in the key dimensions and a key value scalar or array of values, matching the length or shape of the Dataset.

Args:

dimension: Dimension or dimension spec to add dim_pos (int): Integer index to insert dimension at dim_val (scalar or ndarray): Dimension value(s) to add vdim: Disabled, this type does not have value dimensions **kwargs: Keyword arguments passed to the cloned element

Returns:

Cloned object containing the new dimension

aggregate(dimensions=None, function=None, spreadfn=None, **kwargs)[source]#

Aggregates data on the supplied dimensions.

Aggregates over the supplied key dimensions with the defined function or dim_transform specified as a tuple of the transformed dimension name and dim transform.

Args:
dimensions: Dimension(s) to aggregate on

Default to all key dimensions

function: Aggregation function or transform to apply

Supports both simple functions and dimension transforms

spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**kwargs: Keyword arguments either passed to the aggregation function

or to create new names for the transformed variables

Returns:

Returns the aggregated Dataset

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(data=None, shared_data=True, new_type=None, link=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

closest(coords=None, **kwargs)[source]#

Snaps coordinate(s) to closest coordinate in Dataset

Args:

coords: List of coordinates expressed as tuples **kwargs: Coordinates defined as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

columns(dimensions=None)[source]#

Convert dimension values to a dictionary.

Returns a dictionary of column arrays along each dimension of the element.

Args:

dimensions: Dimensions to return as columns

Returns:

Dictionary of arrays for each dimension

compute()[source]#

Computes the data to a data format that stores the daata in memory, e.g. a Dask dataframe or array is converted to a Pandas DataFrame or NumPy array.

Returns:

Dataset with the data stored in in-memory format

property dataset#

The Dataset that this object was created from

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

groupby(dimensions=None, container_type=<class 'holoviews.core.spaces.HoloMap'>, group_type=None, dynamic=False, **kwargs)[source]#

Groups object by one or more dimensions

Applies groupby operation over the specified dimensions returning an object of type container_type (expected to be dictionary-like) containing the groups.

Args:

dimensions: Dimension(s) to group by container_type: Type to cast group container to group_type: Type to cast each group to dynamic: Whether to return a DynamicMap **kwargs: Keyword arguments to pass to each group

Returns:

Returns object of supplied container_type containing the groups. If dynamic=True returns a DynamicMap instead.

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

property iloc#

Returns iloc indexer with support for columnar indexing.

Returns an iloc object providing a convenient interface to slice and index into the Dataset using row and column indices. Allow selection by integer index, slice and list of integer indices and boolean arrays.

Examples:

  • Index the first row and column:

    dataset.iloc[0, 0]

  • Select rows 1 and 2 with a slice:

    dataset.iloc[1:3, :]

  • Select with a list of integer coordinates:

    dataset.iloc[[0, 2, 3]]

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

property ndloc#

Returns ndloc indexer with support for gridded indexing.

Returns an ndloc object providing nd-array like indexing for gridded datasets. Follows NumPy array indexing conventions, allowing for indexing, slicing and selecting a list of indices on multi-dimensional arrays using integer indices. The order of array indices is inverted relative to the Dataset key dimensions, e.g. an Image with key dimensions ‘x’ and ‘y’ can be indexed with image.ndloc[iy, ix], where iy and ix are integer indices along the y and x dimensions.

Examples:

  • Index value in 2D array:

    dataset.ndloc[3, 1]

  • Slice along y-axis of 2D array:

    dataset.ndloc[2:5, :]

  • Vectorized (non-orthogonal) indexing along x- and y-axes:

    dataset.ndloc[[1, 2, 3], [0, 2, 3]]

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

persist()[source]#

Persists the results of a lazy data interface to memory to speed up data manipulation and visualization. If the particular data backend already holds the data in memory this is a no-op. Unlike the compute method this maintains the same data type.

Returns:

Dataset with the data persisted to memory

property pipeline#

Chain operation that evaluates the sequence of operations that was used to create this object, starting with the Dataset stored in dataset property

range(dim, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reductions)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The Dataset after reductions have been applied.

reindex(kdims=None, vdims=None)[source]#

Reindexes Dataset dropping static or supplied kdims

Creates a new object with a reordered or reduced set of key dimensions. By default drops all non-varying key dimensions.x

Args:

kdims (optional): New list of key dimensionsx vdims (optional): New list of value dimensions

Returns:

Reindexed object

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=True, **kwargs)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_expr=None, selection_specs=None, **selection)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

  • predicate expression: A holoviews.dim expression, e.g.:

    from holoviews import dim ds.select(selection_expr=dim(‘x’) % 2 == 0)

Args:
selection_expr: holoviews.dim predicate expression

specifying selection.

selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

property shape#

Returns the shape of the data.

sort(by=None, reverse=False)[source]#

Sorts the data by the values along the supplied dimensions.

Args:

by: Dimension(s) to sort by reverse (bool, optional): Reverse sort order

Returns:

Sorted Dataset

classmethod stack(areas, baseline_name='Baseline')[source]#

Stacks an (Nd)Overlay of Area or Curve Elements by offsetting their baselines. To stack a HoloMap or DynamicMap use the map method.

property to#

Returns the conversion interface with methods to convert Dataset

transform(*args, **kwargs)[source]#

Transforms the Dataset according to a dimension transform.

Transforms may be supplied as tuples consisting of the dimension(s) and the dim transform to apply or keyword arguments mapping from dimension(s) to dim transforms. If the arg or kwarg declares multiple dimensions the dim transform should return a tuple of values for each.

A transform may override an existing dimension or add a new one in which case it will be added as an additional value dimension.

Args:
args: Specify the output arguments and transforms as a

tuple of dimension specs and dim transforms

drop (bool): Whether to drop all variables not part of the transform keep_index (bool): Whether to keep indexes

Whether to apply transform on datastructure with index, e.g. pandas.Series or xarray.DataArray, (important for dask datastructures where index may be required to align datasets).

kwargs: Specify new dimensions in the form new_dim=dim_transform

Returns:

Transformed dataset with new dimensions

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.Arrow(x, y, text='', direction='<', points=40, arrowstyle='->', **params)[source]#

Bases: Annotation

Draw an arrow to the given xy position with optional text at distance ‘points’ away. The direction of the arrow may be specified as well as the arrow head style.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’Arrow’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c1474d0>)

A string describing the data wrapped by the object.

x = param.ClassSelector(allow_refs=False, class_=(<class ‘numbers.Number’>, <class ‘numpy.datetime64’>, <class ‘datetime.datetime’>, <class ‘datetime.date’>, <class ‘datetime.time’>, <class ‘pandas._libs.tslibs.timestamps.Timestamp’>, <class ‘pandas.core.dtypes.dtypes.DatetimeTZDtype’>, <class ‘pandas._libs.tslibs.period.Period’>, <class ‘cftime._cftime.datetime’>), default=0, label=’X’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c7792d0>)

The x-position of the arrow which make be numeric or a timestamp.

y = param.ClassSelector(allow_refs=False, class_=(<class ‘numbers.Number’>, <class ‘numpy.datetime64’>, <class ‘datetime.datetime’>, <class ‘datetime.date’>, <class ‘datetime.time’>, <class ‘pandas._libs.tslibs.timestamps.Timestamp’>, <class ‘pandas.core.dtypes.dtypes.DatetimeTZDtype’>, <class ‘pandas._libs.tslibs.period.Period’>, <class ‘cftime._cftime.datetime’>), default=0, label=’Y’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c1474d0>)

The y-position of the arrow which make be numeric or a timestamp.

text = param.String(allow_refs=False, default=’’, label=’Text’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b1a6990>)

Text associated with the arrow.

direction = param.ObjectSelector(allow_refs=False, default=’<’, label=’Direction’, names={}, nested_refs=False, objects=[‘<’, ‘^’, ‘>’, ‘v’], rx=<param.reactive.reactive_ops object at 0x11c144f90>)

The cardinal direction in which the arrow is pointing. Accepted arrow directions are ‘<’, ‘^’, ‘>’ and ‘v’.

arrowstyle = param.ObjectSelector(allow_refs=False, default=’->’, label=’Arrowstyle’, names={}, nested_refs=False, objects=[‘-’, ‘->’, ‘-[’, ‘-|>', '<->', '<|-|>’], rx=<param.reactive.reactive_ops object at 0x11c7794d0>)

The arrowstyle used to draw the arrow. Accepted arrow styles are ‘-’, ‘->’, ‘-[’, ‘-|>', '<->' and '<|-|>’

points = param.Number(allow_refs=False, default=40, inclusive_bounds=(True, True), label=’Points’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b3d4910>)

Font size of arrow text (if any).

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(*args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

closest(coords, **kwargs)[source]#

Snap list or dict of coordinates to closest position.

Args:

coords: List of 1D or 2D coordinates **kwargs: Coordinates specified as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

range(dimension, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reduction)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The element after reductions have been applied.

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=False, **sample_values)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_specs=None, **kwargs)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

Args:
selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.Bars(data=None, kdims=None, vdims=None, **kwargs)[source]#

Bases: Selection1DExpr, Chart

Bars is a Chart element representing categorical observations using the height of rectangular bars. The key dimensions represent the categorical groupings of the data, but may also be used to stack the bars, while the first value dimension represents the height of each bar.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’Bars’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b222650>)

A string describing the data wrapped by the object.

kdims = param.List(allow_refs=False, bounds=(1, 3), default=[Dimension(‘x’)], label=’Kdims’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b32db10>)

The key dimension(s) of a Chart represent the independent variable(s).

add_dimension(dimension, dim_pos, dim_val, vdim=False, **kwargs)[source]#

Adds a dimension and its values to the Dataset

Requires the dimension name or object, the desired position in the key dimensions and a key value scalar or array of values, matching the length or shape of the Dataset.

Args:

dimension: Dimension or dimension spec to add dim_pos (int): Integer index to insert dimension at dim_val (scalar or ndarray): Dimension value(s) to add vdim: Disabled, this type does not have value dimensions **kwargs: Keyword arguments passed to the cloned element

Returns:

Cloned object containing the new dimension

aggregate(dimensions=None, function=None, spreadfn=None, **kwargs)[source]#

Aggregates data on the supplied dimensions.

Aggregates over the supplied key dimensions with the defined function or dim_transform specified as a tuple of the transformed dimension name and dim transform.

Args:
dimensions: Dimension(s) to aggregate on

Default to all key dimensions

function: Aggregation function or transform to apply

Supports both simple functions and dimension transforms

spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**kwargs: Keyword arguments either passed to the aggregation function

or to create new names for the transformed variables

Returns:

Returns the aggregated Dataset

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(data=None, shared_data=True, new_type=None, link=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

closest(coords=None, **kwargs)[source]#

Snaps coordinate(s) to closest coordinate in Dataset

Args:

coords: List of coordinates expressed as tuples **kwargs: Coordinates defined as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

columns(dimensions=None)[source]#

Convert dimension values to a dictionary.

Returns a dictionary of column arrays along each dimension of the element.

Args:

dimensions: Dimensions to return as columns

Returns:

Dictionary of arrays for each dimension

compute()[source]#

Computes the data to a data format that stores the daata in memory, e.g. a Dask dataframe or array is converted to a Pandas DataFrame or NumPy array.

Returns:

Dataset with the data stored in in-memory format

property dataset#

The Dataset that this object was created from

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

groupby(dimensions=None, container_type=<class 'holoviews.core.spaces.HoloMap'>, group_type=None, dynamic=False, **kwargs)[source]#

Groups object by one or more dimensions

Applies groupby operation over the specified dimensions returning an object of type container_type (expected to be dictionary-like) containing the groups.

Args:

dimensions: Dimension(s) to group by container_type: Type to cast group container to group_type: Type to cast each group to dynamic: Whether to return a DynamicMap **kwargs: Keyword arguments to pass to each group

Returns:

Returns object of supplied container_type containing the groups. If dynamic=True returns a DynamicMap instead.

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

property iloc#

Returns iloc indexer with support for columnar indexing.

Returns an iloc object providing a convenient interface to slice and index into the Dataset using row and column indices. Allow selection by integer index, slice and list of integer indices and boolean arrays.

Examples:

  • Index the first row and column:

    dataset.iloc[0, 0]

  • Select rows 1 and 2 with a slice:

    dataset.iloc[1:3, :]

  • Select with a list of integer coordinates:

    dataset.iloc[[0, 2, 3]]

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

property ndloc#

Returns ndloc indexer with support for gridded indexing.

Returns an ndloc object providing nd-array like indexing for gridded datasets. Follows NumPy array indexing conventions, allowing for indexing, slicing and selecting a list of indices on multi-dimensional arrays using integer indices. The order of array indices is inverted relative to the Dataset key dimensions, e.g. an Image with key dimensions ‘x’ and ‘y’ can be indexed with image.ndloc[iy, ix], where iy and ix are integer indices along the y and x dimensions.

Examples:

  • Index value in 2D array:

    dataset.ndloc[3, 1]

  • Slice along y-axis of 2D array:

    dataset.ndloc[2:5, :]

  • Vectorized (non-orthogonal) indexing along x- and y-axes:

    dataset.ndloc[[1, 2, 3], [0, 2, 3]]

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

persist()[source]#

Persists the results of a lazy data interface to memory to speed up data manipulation and visualization. If the particular data backend already holds the data in memory this is a no-op. Unlike the compute method this maintains the same data type.

Returns:

Dataset with the data persisted to memory

property pipeline#

Chain operation that evaluates the sequence of operations that was used to create this object, starting with the Dataset stored in dataset property

range(dim, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reductions)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The Dataset after reductions have been applied.

reindex(kdims=None, vdims=None)[source]#

Reindexes Dataset dropping static or supplied kdims

Creates a new object with a reordered or reduced set of key dimensions. By default drops all non-varying key dimensions.x

Args:

kdims (optional): New list of key dimensionsx vdims (optional): New list of value dimensions

Returns:

Reindexed object

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=True, **kwargs)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_expr=None, selection_specs=None, **selection)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

  • predicate expression: A holoviews.dim expression, e.g.:

    from holoviews import dim ds.select(selection_expr=dim(‘x’) % 2 == 0)

Args:
selection_expr: holoviews.dim predicate expression

specifying selection.

selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

property shape#

Returns the shape of the data.

sort(by=None, reverse=False)[source]#

Sorts the data by the values along the supplied dimensions.

Args:

by: Dimension(s) to sort by reverse (bool, optional): Reverse sort order

Returns:

Sorted Dataset

property to#

Returns the conversion interface with methods to convert Dataset

transform(*args, **kwargs)[source]#

Transforms the Dataset according to a dimension transform.

Transforms may be supplied as tuples consisting of the dimension(s) and the dim transform to apply or keyword arguments mapping from dimension(s) to dim transforms. If the arg or kwarg declares multiple dimensions the dim transform should return a tuple of values for each.

A transform may override an existing dimension or add a new one in which case it will be added as an additional value dimension.

Args:
args: Specify the output arguments and transforms as a

tuple of dimension specs and dim transforms

drop (bool): Whether to drop all variables not part of the transform keep_index (bool): Whether to keep indexes

Whether to apply transform on datastructure with index, e.g. pandas.Series or xarray.DataArray, (important for dask datastructures where index may be required to align datasets).

kwargs: Specify new dimensions in the form new_dim=dim_transform

Returns:

Transformed dataset with new dimensions

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.Bivariate(data=None, kdims=None, vdims=None, **kwargs)[source]#

Bases: Selection2DExpr, StatisticsElement

Bivariate elements are containers for two dimensional data, which is to be visualized as a kernel density estimate. The data should be supplied in a tabular format of x- and y-columns.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’Bivariate’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11ad2bc90>)

A string describing the data wrapped by the object.

kdims = param.List(allow_refs=False, bounds=(2, 2), default=[Dimension(‘x’), Dimension(‘y’)], label=’Kdims’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c77ca50>)

The key dimensions defined as list of dimensions that may be used in indexing (and potential slicing) semantics. The order of the dimensions listed here determines the semantics of each component of a multi-dimensional indexing operation. Aliased with key_dimensions.

vdims = param.List(allow_refs=False, bounds=(0, 1), default=[Dimension(‘Density’)], label=’Vdims’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11ad283d0>)

The value dimensions defined as the list of dimensions used to describe the components of the data. If multiple value dimensions are supplied, a particular value dimension may be indexed by name after the key dimensions. Aliased with value_dimensions.

add_dimension(dimension, dim_pos, dim_val, vdim=False, **kwargs)[source]#

Adds a dimension and its values to the Dataset

Requires the dimension name or object, the desired position in the key dimensions and a key value scalar or array of values, matching the length or shape of the Dataset.

Args:

dimension: Dimension or dimension spec to add dim_pos (int): Integer index to insert dimension at dim_val (scalar or ndarray): Dimension value(s) to add vdim: Disabled, this type does not have value dimensions **kwargs: Keyword arguments passed to the cloned element

Returns:

Cloned object containing the new dimension

aggregate(dimensions=None, function=None, spreadfn=None, **kwargs)[source]#

Aggregates data on the supplied dimensions.

Aggregates over the supplied key dimensions with the defined function or dim_transform specified as a tuple of the transformed dimension name and dim transform.

Args:
dimensions: Dimension(s) to aggregate on

Default to all key dimensions

function: Aggregation function or transform to apply

Supports both simple functions and dimension transforms

spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**kwargs: Keyword arguments either passed to the aggregation function

or to create new names for the transformed variables

Returns:

Returns the aggregated Dataset

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(data=None, shared_data=True, new_type=None, link=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

closest(coords=None, **kwargs)[source]#

Snaps coordinate(s) to closest coordinate in Dataset

Args:

coords: List of coordinates expressed as tuples **kwargs: Coordinates defined as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

columns(dimensions=None)[source]#

Convert dimension values to a dictionary.

Returns a dictionary of column arrays along each dimension of the element.

Args:

dimensions: Dimensions to return as columns

Returns:

Dictionary of arrays for each dimension

compute()[source]#

Computes the data to a data format that stores the daata in memory, e.g. a Dask dataframe or array is converted to a Pandas DataFrame or NumPy array.

Returns:

Dataset with the data stored in in-memory format

property dataset#

The Dataset that this object was created from

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dim, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

groupby(dimensions=None, container_type=<class 'holoviews.core.spaces.HoloMap'>, group_type=None, dynamic=False, **kwargs)[source]#

Groups object by one or more dimensions

Applies groupby operation over the specified dimensions returning an object of type container_type (expected to be dictionary-like) containing the groups.

Args:

dimensions: Dimension(s) to group by container_type: Type to cast group container to group_type: Type to cast each group to dynamic: Whether to return a DynamicMap **kwargs: Keyword arguments to pass to each group

Returns:

Returns object of supplied container_type containing the groups. If dynamic=True returns a DynamicMap instead.

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

property iloc#

Returns iloc indexer with support for columnar indexing.

Returns an iloc object providing a convenient interface to slice and index into the Dataset using row and column indices. Allow selection by integer index, slice and list of integer indices and boolean arrays.

Examples:

  • Index the first row and column:

    dataset.iloc[0, 0]

  • Select rows 1 and 2 with a slice:

    dataset.iloc[1:3, :]

  • Select with a list of integer coordinates:

    dataset.iloc[[0, 2, 3]]

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

property ndloc#

Returns ndloc indexer with support for gridded indexing.

Returns an ndloc object providing nd-array like indexing for gridded datasets. Follows NumPy array indexing conventions, allowing for indexing, slicing and selecting a list of indices on multi-dimensional arrays using integer indices. The order of array indices is inverted relative to the Dataset key dimensions, e.g. an Image with key dimensions ‘x’ and ‘y’ can be indexed with image.ndloc[iy, ix], where iy and ix are integer indices along the y and x dimensions.

Examples:

  • Index value in 2D array:

    dataset.ndloc[3, 1]

  • Slice along y-axis of 2D array:

    dataset.ndloc[2:5, :]

  • Vectorized (non-orthogonal) indexing along x- and y-axes:

    dataset.ndloc[[1, 2, 3], [0, 2, 3]]

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

persist()[source]#

Persists the results of a lazy data interface to memory to speed up data manipulation and visualization. If the particular data backend already holds the data in memory this is a no-op. Unlike the compute method this maintains the same data type.

Returns:

Dataset with the data persisted to memory

property pipeline#

Chain operation that evaluates the sequence of operations that was used to create this object, starting with the Dataset stored in dataset property

range(dim, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reductions)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The Dataset after reductions have been applied.

reindex(kdims=None, vdims=None)[source]#

Reindexes Dataset dropping static or supplied kdims

Creates a new object with a reordered or reduced set of key dimensions. By default drops all non-varying key dimensions.x

Args:

kdims (optional): New list of key dimensionsx vdims (optional): New list of value dimensions

Returns:

Reindexed object

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=True, **kwargs)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_expr=None, selection_specs=None, **selection)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

  • predicate expression: A holoviews.dim expression, e.g.:

    from holoviews import dim ds.select(selection_expr=dim(‘x’) % 2 == 0)

Args:
selection_expr: holoviews.dim predicate expression

specifying selection.

selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

property shape#

Returns the shape of the data.

sort(by=None, reverse=False)[source]#

Sorts the data by the values along the supplied dimensions.

Args:

by: Dimension(s) to sort by reverse (bool, optional): Reverse sort order

Returns:

Sorted Dataset

property to#

Returns the conversion interface with methods to convert Dataset

transform(*args, **kwargs)[source]#

Transforms the Dataset according to a dimension transform.

Transforms may be supplied as tuples consisting of the dimension(s) and the dim transform to apply or keyword arguments mapping from dimension(s) to dim transforms. If the arg or kwarg declares multiple dimensions the dim transform should return a tuple of values for each.

A transform may override an existing dimension or add a new one in which case it will be added as an additional value dimension.

Args:
args: Specify the output arguments and transforms as a

tuple of dimension specs and dim transforms

drop (bool): Whether to drop all variables not part of the transform keep_index (bool): Whether to keep indexes

Whether to apply transform on datastructure with index, e.g. pandas.Series or xarray.DataArray, (important for dask datastructures where index may be required to align datasets).

kwargs: Specify new dimensions in the form new_dim=dim_transform

Returns:

Transformed dataset with new dimensions

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.BoundingBox(**args)[source]#

Bases: BoundingRegion

A rectangular bounding box defined either by two points forming an axis-aligned rectangle (or simply a radius for a square).

centroid()[source]#

Return the coordinates of the center of this BoundingBox

contains(x, y)[source]#

Returns true if the given point is contained within the bounding box, where all boundaries of the box are considered to be inclusive.

contains_exclusive(x, y)[source]#

Return True if the given point is contained within the bounding box, where the bottom and right boundaries are considered exclusive.

containsbb_exclusive(x)[source]#

Returns true if the given BoundingBox x is contained within the bounding box, where at least one of the boundaries of the box has to be exclusive.

containsbb_inclusive(x)[source]#

Returns true if the given BoundingBox x is contained within the bounding box, including cases of exact match.

lbrt()[source]#

return left,bottom,right,top values for the BoundingBox.

upperexclusive_contains(x, y)[source]#

Returns true if the given point is contained within the bounding box, where the right and upper boundaries are exclusive, and the left and lower boundaries are inclusive. Useful for tiling a plane into non-overlapping regions.

class holoviews.__init__.Bounds(*args, **kwargs)[source]#

Bases: BaseShape

An arbitrary axis-aligned bounding rectangle defined by the (left, bottom, right, top) coordinate positions.

If supplied a single real number as input, this value will be treated as the radius of a square, zero-center box which will be used to compute the corresponding lbrt tuple.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’Bounds’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b453a10>)

The assigned group name.

lbrt = param.Tuple(allow_refs=False, default=(-0.5, -0.5, 0.5, 0.5), label=’Lbrt’, length=4, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b452090>)

The (left, bottom, right, top) coordinates of the bounding box.

add_dimension(dimension, dim_pos, dim_val, vdim=False, **kwargs)[source]#

Adds a dimension and its values to the Dataset

Requires the dimension name or object, the desired position in the key dimensions and a key value scalar or array of values, matching the length or shape of the Dataset.

Args:

dimension: Dimension or dimension spec to add dim_pos (int): Integer index to insert dimension at dim_val (scalar or ndarray): Dimension value(s) to add vdim: Disabled, this type does not have value dimensions **kwargs: Keyword arguments passed to the cloned element

Returns:

Cloned object containing the new dimension

aggregate(dimensions=None, function=None, spreadfn=None, **kwargs)[source]#

Aggregates data on the supplied dimensions.

Aggregates over the supplied key dimensions with the defined function or dim_transform specified as a tuple of the transformed dimension name and dim transform.

Args:
dimensions: Dimension(s) to aggregate on

Default to all key dimensions

function: Aggregation function or transform to apply

Supports both simple functions and dimension transforms

spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**kwargs: Keyword arguments either passed to the aggregation function

or to create new names for the transformed variables

Returns:

Returns the aggregated Dataset

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(*args, **overrides)[source]#

Returns a clone of the object with matching parameter values containing the specified args and kwargs.

closest(coords=None, **kwargs)[source]#

Snaps coordinate(s) to closest coordinate in Dataset

Args:

coords: List of coordinates expressed as tuples **kwargs: Coordinates defined as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

columns(dimensions=None)[source]#

Convert dimension values to a dictionary.

Returns a dictionary of column arrays along each dimension of the element.

Args:

dimensions: Dimensions to return as columns

Returns:

Dictionary of arrays for each dimension

compute()[source]#

Computes the data to a data format that stores the daata in memory, e.g. a Dask dataframe or array is converted to a Pandas DataFrame or NumPy array.

Returns:

Dataset with the data stored in in-memory format

property dataset#

The Dataset that this object was created from

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

groupby(dimensions=None, container_type=<class 'holoviews.core.spaces.HoloMap'>, group_type=None, dynamic=False, **kwargs)[source]#

Groups object by one or more dimensions

Applies groupby operation over the specified dimensions returning an object of type container_type (expected to be dictionary-like) containing the groups.

Args:

dimensions: Dimension(s) to group by container_type: Type to cast group container to group_type: Type to cast each group to dynamic: Whether to return a DynamicMap **kwargs: Keyword arguments to pass to each group

Returns:

Returns object of supplied container_type containing the groups. If dynamic=True returns a DynamicMap instead.

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

property iloc#

Returns iloc indexer with support for columnar indexing.

Returns an iloc object providing a convenient interface to slice and index into the Dataset using row and column indices. Allow selection by integer index, slice and list of integer indices and boolean arrays.

Examples:

  • Index the first row and column:

    dataset.iloc[0, 0]

  • Select rows 1 and 2 with a slice:

    dataset.iloc[1:3, :]

  • Select with a list of integer coordinates:

    dataset.iloc[[0, 2, 3]]

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

property ndloc#

Returns ndloc indexer with support for gridded indexing.

Returns an ndloc object providing nd-array like indexing for gridded datasets. Follows NumPy array indexing conventions, allowing for indexing, slicing and selecting a list of indices on multi-dimensional arrays using integer indices. The order of array indices is inverted relative to the Dataset key dimensions, e.g. an Image with key dimensions ‘x’ and ‘y’ can be indexed with image.ndloc[iy, ix], where iy and ix are integer indices along the y and x dimensions.

Examples:

  • Index value in 2D array:

    dataset.ndloc[3, 1]

  • Slice along y-axis of 2D array:

    dataset.ndloc[2:5, :]

  • Vectorized (non-orthogonal) indexing along x- and y-axes:

    dataset.ndloc[[1, 2, 3], [0, 2, 3]]

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

persist()[source]#

Persists the results of a lazy data interface to memory to speed up data manipulation and visualization. If the particular data backend already holds the data in memory this is a no-op. Unlike the compute method this maintains the same data type.

Returns:

Dataset with the data persisted to memory

property pipeline#

Chain operation that evaluates the sequence of operations that was used to create this object, starting with the Dataset stored in dataset property

range(dim, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reductions)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The Dataset after reductions have been applied.

reindex(kdims=None, vdims=None)[source]#

Reindexes Dataset dropping static or supplied kdims

Creates a new object with a reordered or reduced set of key dimensions. By default drops all non-varying key dimensions.x

Args:

kdims (optional): New list of key dimensionsx vdims (optional): New list of value dimensions

Returns:

Reindexed object

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=True, **kwargs)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_expr=None, selection_specs=None, **selection)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

  • predicate expression: A holoviews.dim expression, e.g.:

    from holoviews import dim ds.select(selection_expr=dim(‘x’) % 2 == 0)

Args:
selection_expr: holoviews.dim predicate expression

specifying selection.

selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

property shape#

Returns the shape of the data.

sort(by=None, reverse=False)[source]#

Sorts the data by the values along the supplied dimensions.

Args:

by: Dimension(s) to sort by reverse (bool, optional): Reverse sort order

Returns:

Sorted Dataset

split(start=None, end=None, datatype=None, **kwargs)[source]#

The split method allows splitting a Path type into a list of subpaths of the same type. A start and/or end may be supplied to select a subset of paths.

property to#

Returns the conversion interface with methods to convert Dataset

transform(*args, **kwargs)[source]#

Transforms the Dataset according to a dimension transform.

Transforms may be supplied as tuples consisting of the dimension(s) and the dim transform to apply or keyword arguments mapping from dimension(s) to dim transforms. If the arg or kwarg declares multiple dimensions the dim transform should return a tuple of values for each.

A transform may override an existing dimension or add a new one in which case it will be added as an additional value dimension.

Args:
args: Specify the output arguments and transforms as a

tuple of dimension specs and dim transforms

drop (bool): Whether to drop all variables not part of the transform keep_index (bool): Whether to keep indexes

Whether to apply transform on datastructure with index, e.g. pandas.Series or xarray.DataArray, (important for dask datastructures where index may be required to align datasets).

kwargs: Specify new dimensions in the form new_dim=dim_transform

Returns:

Transformed dataset with new dimensions

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.Box(*args, **kwargs)[source]#

Bases: BaseShape

Draw a centered box of a given width at the given position with the specified aspect ratio (if any).

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’Box’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b4eab90>)

The assigned group name.

x = param.Number(allow_refs=False, default=0, inclusive_bounds=(True, True), label=’X’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c073190>)

The x-position of the box center.

y = param.Number(allow_refs=False, default=0, inclusive_bounds=(True, True), label=’Y’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c073490>)

The y-position of the box center.

width = param.Number(allow_refs=False, default=1, inclusive_bounds=(True, True), label=’Width’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c073590>)

The width of the box.

height = param.Number(allow_refs=False, default=1, inclusive_bounds=(True, True), label=’Height’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c070d90>)

The height of the box.

orientation = param.Number(allow_refs=False, default=0, inclusive_bounds=(True, True), label=’Orientation’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c071050>)

Orientation in the Cartesian coordinate system, the counterclockwise angle in radians between the first axis and the horizontal.

aspect = param.Number(allow_refs=False, default=1.0, inclusive_bounds=(True, True), label=’Aspect’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c070d90>)

Optional multiplier applied to the box size to compute the width in cases where only the length value is set.

add_dimension(dimension, dim_pos, dim_val, vdim=False, **kwargs)[source]#

Adds a dimension and its values to the Dataset

Requires the dimension name or object, the desired position in the key dimensions and a key value scalar or array of values, matching the length or shape of the Dataset.

Args:

dimension: Dimension or dimension spec to add dim_pos (int): Integer index to insert dimension at dim_val (scalar or ndarray): Dimension value(s) to add vdim: Disabled, this type does not have value dimensions **kwargs: Keyword arguments passed to the cloned element

Returns:

Cloned object containing the new dimension

aggregate(dimensions=None, function=None, spreadfn=None, **kwargs)[source]#

Aggregates data on the supplied dimensions.

Aggregates over the supplied key dimensions with the defined function or dim_transform specified as a tuple of the transformed dimension name and dim transform.

Args:
dimensions: Dimension(s) to aggregate on

Default to all key dimensions

function: Aggregation function or transform to apply

Supports both simple functions and dimension transforms

spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**kwargs: Keyword arguments either passed to the aggregation function

or to create new names for the transformed variables

Returns:

Returns the aggregated Dataset

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(*args, **overrides)[source]#

Returns a clone of the object with matching parameter values containing the specified args and kwargs.

closest(coords=None, **kwargs)[source]#

Snaps coordinate(s) to closest coordinate in Dataset

Args:

coords: List of coordinates expressed as tuples **kwargs: Coordinates defined as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

columns(dimensions=None)[source]#

Convert dimension values to a dictionary.

Returns a dictionary of column arrays along each dimension of the element.

Args:

dimensions: Dimensions to return as columns

Returns:

Dictionary of arrays for each dimension

compute()[source]#

Computes the data to a data format that stores the daata in memory, e.g. a Dask dataframe or array is converted to a Pandas DataFrame or NumPy array.

Returns:

Dataset with the data stored in in-memory format

property dataset#

The Dataset that this object was created from

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

groupby(dimensions=None, container_type=<class 'holoviews.core.spaces.HoloMap'>, group_type=None, dynamic=False, **kwargs)[source]#

Groups object by one or more dimensions

Applies groupby operation over the specified dimensions returning an object of type container_type (expected to be dictionary-like) containing the groups.

Args:

dimensions: Dimension(s) to group by container_type: Type to cast group container to group_type: Type to cast each group to dynamic: Whether to return a DynamicMap **kwargs: Keyword arguments to pass to each group

Returns:

Returns object of supplied container_type containing the groups. If dynamic=True returns a DynamicMap instead.

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

property iloc#

Returns iloc indexer with support for columnar indexing.

Returns an iloc object providing a convenient interface to slice and index into the Dataset using row and column indices. Allow selection by integer index, slice and list of integer indices and boolean arrays.

Examples:

  • Index the first row and column:

    dataset.iloc[0, 0]

  • Select rows 1 and 2 with a slice:

    dataset.iloc[1:3, :]

  • Select with a list of integer coordinates:

    dataset.iloc[[0, 2, 3]]

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

property ndloc#

Returns ndloc indexer with support for gridded indexing.

Returns an ndloc object providing nd-array like indexing for gridded datasets. Follows NumPy array indexing conventions, allowing for indexing, slicing and selecting a list of indices on multi-dimensional arrays using integer indices. The order of array indices is inverted relative to the Dataset key dimensions, e.g. an Image with key dimensions ‘x’ and ‘y’ can be indexed with image.ndloc[iy, ix], where iy and ix are integer indices along the y and x dimensions.

Examples:

  • Index value in 2D array:

    dataset.ndloc[3, 1]

  • Slice along y-axis of 2D array:

    dataset.ndloc[2:5, :]

  • Vectorized (non-orthogonal) indexing along x- and y-axes:

    dataset.ndloc[[1, 2, 3], [0, 2, 3]]

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

persist()[source]#

Persists the results of a lazy data interface to memory to speed up data manipulation and visualization. If the particular data backend already holds the data in memory this is a no-op. Unlike the compute method this maintains the same data type.

Returns:

Dataset with the data persisted to memory

property pipeline#

Chain operation that evaluates the sequence of operations that was used to create this object, starting with the Dataset stored in dataset property

range(dim, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reductions)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The Dataset after reductions have been applied.

reindex(kdims=None, vdims=None)[source]#

Reindexes Dataset dropping static or supplied kdims

Creates a new object with a reordered or reduced set of key dimensions. By default drops all non-varying key dimensions.x

Args:

kdims (optional): New list of key dimensionsx vdims (optional): New list of value dimensions

Returns:

Reindexed object

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=True, **kwargs)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_expr=None, selection_specs=None, **selection)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

  • predicate expression: A holoviews.dim expression, e.g.:

    from holoviews import dim ds.select(selection_expr=dim(‘x’) % 2 == 0)

Args:
selection_expr: holoviews.dim predicate expression

specifying selection.

selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

property shape#

Returns the shape of the data.

sort(by=None, reverse=False)[source]#

Sorts the data by the values along the supplied dimensions.

Args:

by: Dimension(s) to sort by reverse (bool, optional): Reverse sort order

Returns:

Sorted Dataset

split(start=None, end=None, datatype=None, **kwargs)[source]#

The split method allows splitting a Path type into a list of subpaths of the same type. A start and/or end may be supplied to select a subset of paths.

property to#

Returns the conversion interface with methods to convert Dataset

transform(*args, **kwargs)[source]#

Transforms the Dataset according to a dimension transform.

Transforms may be supplied as tuples consisting of the dimension(s) and the dim transform to apply or keyword arguments mapping from dimension(s) to dim transforms. If the arg or kwarg declares multiple dimensions the dim transform should return a tuple of values for each.

A transform may override an existing dimension or add a new one in which case it will be added as an additional value dimension.

Args:
args: Specify the output arguments and transforms as a

tuple of dimension specs and dim transforms

drop (bool): Whether to drop all variables not part of the transform keep_index (bool): Whether to keep indexes

Whether to apply transform on datastructure with index, e.g. pandas.Series or xarray.DataArray, (important for dask datastructures where index may be required to align datasets).

kwargs: Specify new dimensions in the form new_dim=dim_transform

Returns:

Transformed dataset with new dimensions

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.BoxWhisker(data=None, kdims=None, vdims=None, **kwargs)[source]#

Bases: Selection1DExpr, Dataset, Element2D

BoxWhisker represent data as a distributions highlighting the median, mean and various percentiles. It may have a single value dimension and any number of key dimensions declaring the grouping of each violin.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’BoxWhisker’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b6aec90>)

A string describing the data wrapped by the object.

kdims = param.List(allow_refs=False, bounds=(0, None), default=[], label=’Kdims’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b6edbd0>)

The key dimensions defined as list of dimensions that may be used in indexing (and potential slicing) semantics. The order of the dimensions listed here determines the semantics of each component of a multi-dimensional indexing operation. Aliased with key_dimensions.

vdims = param.List(allow_refs=False, bounds=(1, 1), default=[Dimension(‘y’)], label=’Vdims’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b6aec90>)

The value dimensions defined as the list of dimensions used to describe the components of the data. If multiple value dimensions are supplied, a particular value dimension may be indexed by name after the key dimensions. Aliased with value_dimensions.

add_dimension(dimension, dim_pos, dim_val, vdim=False, **kwargs)[source]#

Adds a dimension and its values to the Dataset

Requires the dimension name or object, the desired position in the key dimensions and a key value scalar or array of values, matching the length or shape of the Dataset.

Args:

dimension: Dimension or dimension spec to add dim_pos (int): Integer index to insert dimension at dim_val (scalar or ndarray): Dimension value(s) to add vdim: Disabled, this type does not have value dimensions **kwargs: Keyword arguments passed to the cloned element

Returns:

Cloned object containing the new dimension

aggregate(dimensions=None, function=None, spreadfn=None, **kwargs)[source]#

Aggregates data on the supplied dimensions.

Aggregates over the supplied key dimensions with the defined function or dim_transform specified as a tuple of the transformed dimension name and dim transform.

Args:
dimensions: Dimension(s) to aggregate on

Default to all key dimensions

function: Aggregation function or transform to apply

Supports both simple functions and dimension transforms

spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**kwargs: Keyword arguments either passed to the aggregation function

or to create new names for the transformed variables

Returns:

Returns the aggregated Dataset

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(data=None, shared_data=True, new_type=None, link=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

closest(coords=None, **kwargs)[source]#

Snaps coordinate(s) to closest coordinate in Dataset

Args:

coords: List of coordinates expressed as tuples **kwargs: Coordinates defined as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

columns(dimensions=None)[source]#

Convert dimension values to a dictionary.

Returns a dictionary of column arrays along each dimension of the element.

Args:

dimensions: Dimensions to return as columns

Returns:

Dictionary of arrays for each dimension

compute()[source]#

Computes the data to a data format that stores the daata in memory, e.g. a Dask dataframe or array is converted to a Pandas DataFrame or NumPy array.

Returns:

Dataset with the data stored in in-memory format

property dataset#

The Dataset that this object was created from

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

groupby(dimensions=None, container_type=<class 'holoviews.core.spaces.HoloMap'>, group_type=None, dynamic=False, **kwargs)[source]#

Groups object by one or more dimensions

Applies groupby operation over the specified dimensions returning an object of type container_type (expected to be dictionary-like) containing the groups.

Args:

dimensions: Dimension(s) to group by container_type: Type to cast group container to group_type: Type to cast each group to dynamic: Whether to return a DynamicMap **kwargs: Keyword arguments to pass to each group

Returns:

Returns object of supplied container_type containing the groups. If dynamic=True returns a DynamicMap instead.

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

property iloc#

Returns iloc indexer with support for columnar indexing.

Returns an iloc object providing a convenient interface to slice and index into the Dataset using row and column indices. Allow selection by integer index, slice and list of integer indices and boolean arrays.

Examples:

  • Index the first row and column:

    dataset.iloc[0, 0]

  • Select rows 1 and 2 with a slice:

    dataset.iloc[1:3, :]

  • Select with a list of integer coordinates:

    dataset.iloc[[0, 2, 3]]

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

property ndloc#

Returns ndloc indexer with support for gridded indexing.

Returns an ndloc object providing nd-array like indexing for gridded datasets. Follows NumPy array indexing conventions, allowing for indexing, slicing and selecting a list of indices on multi-dimensional arrays using integer indices. The order of array indices is inverted relative to the Dataset key dimensions, e.g. an Image with key dimensions ‘x’ and ‘y’ can be indexed with image.ndloc[iy, ix], where iy and ix are integer indices along the y and x dimensions.

Examples:

  • Index value in 2D array:

    dataset.ndloc[3, 1]

  • Slice along y-axis of 2D array:

    dataset.ndloc[2:5, :]

  • Vectorized (non-orthogonal) indexing along x- and y-axes:

    dataset.ndloc[[1, 2, 3], [0, 2, 3]]

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

persist()[source]#

Persists the results of a lazy data interface to memory to speed up data manipulation and visualization. If the particular data backend already holds the data in memory this is a no-op. Unlike the compute method this maintains the same data type.

Returns:

Dataset with the data persisted to memory

property pipeline#

Chain operation that evaluates the sequence of operations that was used to create this object, starting with the Dataset stored in dataset property

range(dim, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reductions)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The Dataset after reductions have been applied.

reindex(kdims=None, vdims=None)[source]#

Reindexes Dataset dropping static or supplied kdims

Creates a new object with a reordered or reduced set of key dimensions. By default drops all non-varying key dimensions.x

Args:

kdims (optional): New list of key dimensionsx vdims (optional): New list of value dimensions

Returns:

Reindexed object

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=True, **kwargs)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_expr=None, selection_specs=None, **selection)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

  • predicate expression: A holoviews.dim expression, e.g.:

    from holoviews import dim ds.select(selection_expr=dim(‘x’) % 2 == 0)

Args:
selection_expr: holoviews.dim predicate expression

specifying selection.

selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

property shape#

Returns the shape of the data.

sort(by=None, reverse=False)[source]#

Sorts the data by the values along the supplied dimensions.

Args:

by: Dimension(s) to sort by reverse (bool, optional): Reverse sort order

Returns:

Sorted Dataset

property to#

Returns the conversion interface with methods to convert Dataset

transform(*args, **kwargs)[source]#

Transforms the Dataset according to a dimension transform.

Transforms may be supplied as tuples consisting of the dimension(s) and the dim transform to apply or keyword arguments mapping from dimension(s) to dim transforms. If the arg or kwarg declares multiple dimensions the dim transform should return a tuple of values for each.

A transform may override an existing dimension or add a new one in which case it will be added as an additional value dimension.

Args:
args: Specify the output arguments and transforms as a

tuple of dimension specs and dim transforms

drop (bool): Whether to drop all variables not part of the transform keep_index (bool): Whether to keep indexes

Whether to apply transform on datastructure with index, e.g. pandas.Series or xarray.DataArray, (important for dask datastructures where index may be required to align datasets).

kwargs: Specify new dimensions in the form new_dim=dim_transform

Returns:

Transformed dataset with new dimensions

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.Callable(callable, **params)[source]#

Bases: Parameterized

Callable allows wrapping callbacks on one or more DynamicMaps allowing their inputs (and in future outputs) to be defined. This makes it possible to wrap DynamicMaps with streams and makes it possible to traverse the graph of operations applied to a DynamicMap.

Additionally, if the memoize attribute is True, a Callable will memoize the last returned value based on the arguments to the function and the state of all streams on its inputs, to avoid calling the function unnecessarily. Note that because memoization includes the streams found on the inputs it may be disabled if the stream requires it and is triggering.

A Callable may also specify a stream_mapping which specifies the objects that are associated with interactive (i.e. linked) streams when composite objects such as Layouts are returned from the callback. This is required for building interactive, linked visualizations (for the backends that support them) when returning Layouts, NdLayouts or GridSpace objects. When chaining multiple DynamicMaps into a pipeline, the link_inputs parameter declares whether the visualization generated using this Callable will inherit the linked streams. This parameter is used as a hint by the applicable backend.

The mapping should map from an appropriate key to a list of streams associated with the selected object. The appropriate key may be a type[.group][.label] specification for Layouts, an integer index or a suitable NdLayout/GridSpace key. For more information see the DynamicMap tutorial at holoviews.org.

callable = param.Callable(allow_None=True, allow_refs=False, constant=True, label=’Callable’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11a572790>)

The callable function being wrapped.

inputs = param.List(allow_refs=False, bounds=(0, None), constant=True, default=[], label=’Inputs’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b4fb8d0>)

The list of inputs the callable function is wrapping. Used to allow deep access to streams in chained Callables.

operation_kwargs = param.Dict(allow_refs=False, class_=<class ‘dict’>, constant=True, default={}, label=’Operation kwargs’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b4accd0>)

Potential dynamic keyword arguments associated with the operation.

link_inputs = param.Boolean(allow_refs=False, default=True, label=’Link inputs’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11a5709d0>)

If the Callable wraps around other DynamicMaps in its inputs, determines whether linked streams attached to the inputs are transferred to the objects returned by the Callable. For example the Callable wraps a DynamicMap with an RangeXY stream, this switch determines whether the corresponding visualization should update this stream with range changes originating from the newly generated axes.

memoize = param.Boolean(allow_refs=False, default=True, label=’Memoize’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b4aead0>)

Whether the return value of the callable should be memoized based on the call arguments and any streams attached to the inputs.

operation = param.Callable(allow_None=True, allow_refs=False, label=’Operation’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11a5703d0>)

The function being applied by the Callable. May be used to record the transform(s) being applied inside the callback function.

stream_mapping = param.Dict(allow_refs=False, class_=<class ‘dict’>, constant=True, default={}, label=’Stream mapping’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b4aded0>)

Defines how streams should be mapped to objects returned by the Callable, e.g. when it returns a Layout.

clone(callable=None, **overrides)[source]#

Clones the Callable optionally with new settings

Args:

callable: New callable function to wrap **overrides: Parameter overrides to apply

Returns:

Cloned Callable object

property noargs#

Returns True if the callable takes no arguments

class holoviews.__init__.Chord(data=None, kdims=None, vdims=None, **kwargs)[source]#

Bases: Graph

Chord is a special type of Graph which computes the locations of each node on a circle and the chords connecting them. The amount of radial angle devoted to each node and the number of chords are scaled by a weight supplied as a value dimension.

If the values are integers then the number of chords is directly scaled by the value, if the values are floats then the number of chords are apportioned such that the lowest value edge is given one chord and all other nodes are given nodes proportional to their weight.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’Chord’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b55be50>)

A string describing the data wrapped by the object.

add_dimension(dimension, dim_pos, dim_val, vdim=False, **kwargs)[source]#

Adds a dimension and its values to the Dataset

Requires the dimension name or object, the desired position in the key dimensions and a key value scalar or array of values, matching the length or shape of the Dataset.

Args:

dimension: Dimension or dimension spec to add dim_pos (int): Integer index to insert dimension at dim_val (scalar or ndarray): Dimension value(s) to add vdim: Disabled, this type does not have value dimensions **kwargs: Keyword arguments passed to the cloned element

Returns:

Cloned object containing the new dimension

aggregate(dimensions=None, function=None, spreadfn=None, **kwargs)[source]#

Aggregates data on the supplied dimensions.

Aggregates over the supplied key dimensions with the defined function or dim_transform specified as a tuple of the transformed dimension name and dim transform.

Args:
dimensions: Dimension(s) to aggregate on

Default to all key dimensions

function: Aggregation function or transform to apply

Supports both simple functions and dimension transforms

spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**kwargs: Keyword arguments either passed to the aggregation function

or to create new names for the transformed variables

Returns:

Returns the aggregated Dataset

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(data=None, shared_data=True, new_type=None, link=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

closest(coords=None, **kwargs)[source]#

Snaps coordinate(s) to closest coordinate in Dataset

Args:

coords: List of coordinates expressed as tuples **kwargs: Coordinates defined as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

columns(dimensions=None)[source]#

Convert dimension values to a dictionary.

Returns a dictionary of column arrays along each dimension of the element.

Args:

dimensions: Dimensions to return as columns

Returns:

Dictionary of arrays for each dimension

compute()[source]#

Computes the data to a data format that stores the daata in memory, e.g. a Dask dataframe or array is converted to a Pandas DataFrame or NumPy array.

Returns:

Dataset with the data stored in in-memory format

property dataset#

The Dataset that this object was created from

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

edge_type[source]#

alias of EdgePaths

property edgepaths#

Returns the fixed EdgePaths or computes direct connections between supplied nodes.

classmethod from_networkx(G, positions, nodes=None, **kwargs)[source]#

Generate a HoloViews Graph from a networkx.Graph object and networkx layout function or dictionary of node positions. Any keyword arguments will be passed to the layout function. By default it will extract all node and edge attributes from the networkx.Graph but explicit node information may also be supplied. Any non-scalar attributes, such as lists or dictionaries will be ignored.

Args:

G (networkx.Graph): Graph to convert to Graph element positions (dict or callable): Node positions

Node positions defined as a dictionary mapping from node id to (x, y) tuple or networkx layout function which computes a positions dictionary

kwargs (dict): Keyword arguments for layout function

Returns:

Graph element

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

groupby(dimensions=None, container_type=<class 'holoviews.core.spaces.HoloMap'>, group_type=None, dynamic=False, **kwargs)[source]#

Groups object by one or more dimensions

Applies groupby operation over the specified dimensions returning an object of type container_type (expected to be dictionary-like) containing the groups.

Args:

dimensions: Dimension(s) to group by container_type: Type to cast group container to group_type: Type to cast each group to dynamic: Whether to return a DynamicMap **kwargs: Keyword arguments to pass to each group

Returns:

Returns object of supplied container_type containing the groups. If dynamic=True returns a DynamicMap instead.

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

property iloc#

Returns iloc indexer with support for columnar indexing.

Returns an iloc object providing a convenient interface to slice and index into the Dataset using row and column indices. Allow selection by integer index, slice and list of integer indices and boolean arrays.

Examples:

  • Index the first row and column:

    dataset.iloc[0, 0]

  • Select rows 1 and 2 with a slice:

    dataset.iloc[1:3, :]

  • Select with a list of integer coordinates:

    dataset.iloc[[0, 2, 3]]

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

property ndloc#

Returns ndloc indexer with support for gridded indexing.

Returns an ndloc object providing nd-array like indexing for gridded datasets. Follows NumPy array indexing conventions, allowing for indexing, slicing and selecting a list of indices on multi-dimensional arrays using integer indices. The order of array indices is inverted relative to the Dataset key dimensions, e.g. an Image with key dimensions ‘x’ and ‘y’ can be indexed with image.ndloc[iy, ix], where iy and ix are integer indices along the y and x dimensions.

Examples:

  • Index value in 2D array:

    dataset.ndloc[3, 1]

  • Slice along y-axis of 2D array:

    dataset.ndloc[2:5, :]

  • Vectorized (non-orthogonal) indexing along x- and y-axes:

    dataset.ndloc[[1, 2, 3], [0, 2, 3]]

node_type[source]#

alias of Nodes

property nodes#

Computes the node positions the first time they are requested if no explicit node information was supplied.

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

persist()[source]#

Persists the results of a lazy data interface to memory to speed up data manipulation and visualization. If the particular data backend already holds the data in memory this is a no-op. Unlike the compute method this maintains the same data type.

Returns:

Dataset with the data persisted to memory

property pipeline#

Chain operation that evaluates the sequence of operations that was used to create this object, starting with the Dataset stored in dataset property

range(dimension, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reductions)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The Dataset after reductions have been applied.

reindex(kdims=None, vdims=None)[source]#

Reindexes Dataset dropping static or supplied kdims

Creates a new object with a reordered or reduced set of key dimensions. By default drops all non-varying key dimensions.x

Args:

kdims (optional): New list of key dimensionsx vdims (optional): New list of value dimensions

Returns:

Reindexed object

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=True, **kwargs)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_expr=None, selection_specs=None, selection_mode='edges', **selection)[source]#

Allows selecting data by the slices, sets and scalar values along a particular dimension. The indices should be supplied as keywords mapping between the selected dimension and value. Additionally selection_specs (taking the form of a list of type.group.label strings, types or functions) may be supplied, which will ensure the selection is only applied if the specs match the selected object.

Selecting by a node dimensions selects all edges and nodes that are connected to the selected nodes. To select only edges between the selected nodes set the selection_mode to ‘nodes’.

property shape#

Returns the shape of the data.

sort(by=None, reverse=False)[source]#

Sorts the data by the values along the supplied dimensions.

Args:

by: Dimension(s) to sort by reverse (bool, optional): Reverse sort order

Returns:

Sorted Dataset

property to#

Returns the conversion interface with methods to convert Dataset

transform(*args, **kwargs)[source]#

Transforms the Dataset according to a dimension transform.

Transforms may be supplied as tuples consisting of the dimension(s) and the dim transform to apply or keyword arguments mapping from dimension(s) to dim transforms. If the arg or kwarg declares multiple dimensions the dim transform should return a tuple of values for each.

A transform may override an existing dimension or add a new one in which case it will be added as an additional value dimension.

Args:
args: Specify the output arguments and transforms as a

tuple of dimension specs and dim transforms

drop (bool): Whether to drop all variables not part of the transform keep_index (bool): Whether to keep indexes

Whether to apply transform on datastructure with index, e.g. pandas.Series or xarray.DataArray, (important for dask datastructures where index may be required to align datasets).

kwargs: Specify new dimensions in the form new_dim=dim_transform

Returns:

Transformed dataset with new dimensions

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.Collator(data=None, **params)[source]#

Bases: NdMapping

Collator is an NdMapping type which can merge any number of HoloViews components with whatever level of nesting by inserting the Collators key dimensions on the HoloMaps. If the items in the Collator do not contain HoloMaps they will be created. Collator also supports filtering of Tree structures and dropping of constant dimensions.

Parameters inherited from:

group = param.String(allow_refs=False, default=’Collator’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b7e36d0>)

A string describing the data wrapped by the object.

vdims = param.List(allow_refs=False, bounds=(0, 0), default=[], label=’Vdims’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b7b8090>)

Collator operates on HoloViews objects, if vdims are specified a value_transform function must also be supplied.

drop = param.List(allow_refs=False, bounds=(0, None), default=[], label=’Drop’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b7e36d0>)

List of dimensions to drop when collating data, specified as strings.

drop_constant = param.Boolean(allow_refs=False, default=False, label=’Drop constant’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b7b81d0>)

Whether to demote any non-varying key dimensions to constant dimensions.

filters = param.List(allow_refs=False, bounds=(0, None), default=[], label=’Filters’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b7e36d0>)

List of paths to drop when collating data, specified as strings or tuples.

progress_bar = param.Parameter(allow_None=True, allow_refs=False, label=’Progress bar’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c32ba10>)

The progress bar instance used to report progress. Set to None to disable progress bars.

merge_type = param.ClassSelector(allow_refs=False, class_=<class ‘holoviews.core.ndmapping.NdMapping’>, default=<class ‘holoviews.core.spaces.HoloMap’>, label=’Merge type’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b7e36d0>)

value_transform = param.Callable(allow_None=True, allow_refs=False, label=’Value transform’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b7e3a90>)

If supplied the function will be applied on each Collator value during collation. This may be used to apply an operation to the data or load references from disk before they are collated into a displayable HoloViews object.

add_dimension(dimension, dim_pos, dim_val, vdim=False, **kwargs)[source]#

Adds a dimension and its values to the object

Requires the dimension name or object, the desired position in the key dimensions and a key value scalar or sequence of the same length as the existing keys.

Args:

dimension: Dimension or dimension spec to add dim_pos (int) Integer index to insert dimension at dim_val (scalar or ndarray): Dimension value(s) to add vdim: Disabled, this type does not have value dimensions **kwargs: Keyword arguments passed to the cloned element

Returns:

Cloned object containing the new dimension

clone(data=None, shared_data=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

property ddims#

The list of deep dimensions

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

drop_dimension(dimensions)[source]#

Drops dimension(s) from keys

Args:

dimensions: Dimension(s) to drop

Returns:

Clone of object with with dropped dimension(s)

get(key, default=None)[source]#

Standard get semantics for all mapping types

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

groupby(dimensions, container_type=None, group_type=None, **kwargs)[source]#

Groups object by one or more dimensions

Applies groupby operation over the specified dimensions returning an object of type container_type (expected to be dictionary-like) containing the groups.

Args:

dimensions: Dimension(s) to group by container_type: Type to cast group container to group_type: Type to cast each group to dynamic: Whether to return a DynamicMap **kwargs: Keyword arguments to pass to each group

Returns:

Returns object of supplied container_type containing the groups. If dynamic=True returns a DynamicMap instead.

property info#

Prints information about the Dimensioned object, including the number and type of objects contained within it and information about its dimensions.

items()[source]#

Returns all elements as a list in (key,value) format.

keys()[source]#

Returns the keys of all the elements.

property last#

Returns the item highest data item along the map dimensions.

property last_key#

Returns the last key value.

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

merge_type[source]#

alias of HoloMap

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

pop(key, default=None)[source]#

Standard pop semantics for all mapping types

range(dimension, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reindex(kdims=None, force=False)[source]#

Reindexes object dropping static or supplied kdims

Creates a new object with a reordered or reduced set of key dimensions. By default drops all non-varying key dimensions.

Reducing the number of key dimensions will discard information from the keys. All data values are accessible in the newly created object as the new labels must be sufficient to address each value uniquely.

Args:

kdims (optional): New list of key dimensions after reindexing force (bool, optional): Whether to drop non-unique items

Returns:

Reindexed object

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

select(selection_specs=None, **kwargs)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

Args:
selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

property static_dimensions#

Return all constant dimensions.

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

update(other)[source]#

Merges other item with this object

Args:
other: Object containing items to merge into this object

Must be a dictionary or NdMapping type

values()[source]#

Returns the values of all the elements.

class holoviews.__init__.Contours(data=None, kdims=None, vdims=None, **kwargs)[source]#

Bases: Path

The Contours element is a subtype of a Path which is characterized by the fact that each path geometry may only be associated with scalar values. It supports all the same data formats as a Path but does not allow continuously varying values along the path geometry’s coordinates. Conceptually Contours therefore represent iso-contours or isoclines, i.e. a function of two variables which describes a curve along which the function has a constant value.

The canonical representation is a list of dictionaries storing the x- and y-coordinates along with any other (scalar) values:

[{‘x’: 1d-array, ‘y’: 1d-array, ‘value’: scalar}, …]

Alternatively Contours also supports a single columnar data-structure to specify an individual contour:

{‘x’: 1d-array, ‘y’: 1d-array, ‘value’: scalar, ‘continuous’: 1d-array}

Since not all formats allow storing scalar values as actual scalars arrays which are the same length as the coordinates but have only one unique value are also considered scalar. This is strictly enforced, ensuring that each path geometry represents a valid iso-contour.

The easiest way of accessing the individual geometries is using the Contours.split method, which returns each path geometry as a separate entity, while the other methods assume a flattened representation where all paths are separated by NaN values.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’Contours’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c0b2090>)

A string describing the data wrapped by the object.

vdims = param.List(allow_refs=False, bounds=(0, None), constant=True, default=[], label=’Vdims’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11ad6eed0>)

Contours optionally accept a value dimension, corresponding to the supplied values.

add_dimension(dimension, dim_pos, dim_val, vdim=False, **kwargs)[source]#

Adds a dimension and its values to the Dataset

Requires the dimension name or object, the desired position in the key dimensions and a key value scalar or array of values, matching the length or shape of the Dataset.

Args:

dimension: Dimension or dimension spec to add dim_pos (int): Integer index to insert dimension at dim_val (scalar or ndarray): Dimension value(s) to add vdim: Disabled, this type does not have value dimensions **kwargs: Keyword arguments passed to the cloned element

Returns:

Cloned object containing the new dimension

aggregate(dimensions=None, function=None, spreadfn=None, **kwargs)[source]#

Aggregates data on the supplied dimensions.

Aggregates over the supplied key dimensions with the defined function or dim_transform specified as a tuple of the transformed dimension name and dim transform.

Args:
dimensions: Dimension(s) to aggregate on

Default to all key dimensions

function: Aggregation function or transform to apply

Supports both simple functions and dimension transforms

spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**kwargs: Keyword arguments either passed to the aggregation function

or to create new names for the transformed variables

Returns:

Returns the aggregated Dataset

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(data=None, shared_data=True, new_type=None, link=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

closest(coords=None, **kwargs)[source]#

Snaps coordinate(s) to closest coordinate in Dataset

Args:

coords: List of coordinates expressed as tuples **kwargs: Coordinates defined as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

columns(dimensions=None)[source]#

Convert dimension values to a dictionary.

Returns a dictionary of column arrays along each dimension of the element.

Args:

dimensions: Dimensions to return as columns

Returns:

Dictionary of arrays for each dimension

compute()[source]#

Computes the data to a data format that stores the daata in memory, e.g. a Dask dataframe or array is converted to a Pandas DataFrame or NumPy array.

Returns:

Dataset with the data stored in in-memory format

property dataset#

The Dataset that this object was created from

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

groupby(dimensions=None, container_type=<class 'holoviews.core.spaces.HoloMap'>, group_type=None, dynamic=False, **kwargs)[source]#

Groups object by one or more dimensions

Applies groupby operation over the specified dimensions returning an object of type container_type (expected to be dictionary-like) containing the groups.

Args:

dimensions: Dimension(s) to group by container_type: Type to cast group container to group_type: Type to cast each group to dynamic: Whether to return a DynamicMap **kwargs: Keyword arguments to pass to each group

Returns:

Returns object of supplied container_type containing the groups. If dynamic=True returns a DynamicMap instead.

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

property iloc#

Returns iloc indexer with support for columnar indexing.

Returns an iloc object providing a convenient interface to slice and index into the Dataset using row and column indices. Allow selection by integer index, slice and list of integer indices and boolean arrays.

Examples:

  • Index the first row and column:

    dataset.iloc[0, 0]

  • Select rows 1 and 2 with a slice:

    dataset.iloc[1:3, :]

  • Select with a list of integer coordinates:

    dataset.iloc[[0, 2, 3]]

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

property ndloc#

Returns ndloc indexer with support for gridded indexing.

Returns an ndloc object providing nd-array like indexing for gridded datasets. Follows NumPy array indexing conventions, allowing for indexing, slicing and selecting a list of indices on multi-dimensional arrays using integer indices. The order of array indices is inverted relative to the Dataset key dimensions, e.g. an Image with key dimensions ‘x’ and ‘y’ can be indexed with image.ndloc[iy, ix], where iy and ix are integer indices along the y and x dimensions.

Examples:

  • Index value in 2D array:

    dataset.ndloc[3, 1]

  • Slice along y-axis of 2D array:

    dataset.ndloc[2:5, :]

  • Vectorized (non-orthogonal) indexing along x- and y-axes:

    dataset.ndloc[[1, 2, 3], [0, 2, 3]]

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

persist()[source]#

Persists the results of a lazy data interface to memory to speed up data manipulation and visualization. If the particular data backend already holds the data in memory this is a no-op. Unlike the compute method this maintains the same data type.

Returns:

Dataset with the data persisted to memory

property pipeline#

Chain operation that evaluates the sequence of operations that was used to create this object, starting with the Dataset stored in dataset property

range(dim, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reductions)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The Dataset after reductions have been applied.

reindex(kdims=None, vdims=None)[source]#

Reindexes Dataset dropping static or supplied kdims

Creates a new object with a reordered or reduced set of key dimensions. By default drops all non-varying key dimensions.x

Args:

kdims (optional): New list of key dimensionsx vdims (optional): New list of value dimensions

Returns:

Reindexed object

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=True, **kwargs)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_expr=None, selection_specs=None, **selection)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

  • predicate expression: A holoviews.dim expression, e.g.:

    from holoviews import dim ds.select(selection_expr=dim(‘x’) % 2 == 0)

Args:
selection_expr: holoviews.dim predicate expression

specifying selection.

selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

property shape#

Returns the shape of the data.

sort(by=None, reverse=False)[source]#

Sorts the data by the values along the supplied dimensions.

Args:

by: Dimension(s) to sort by reverse (bool, optional): Reverse sort order

Returns:

Sorted Dataset

split(start=None, end=None, datatype=None, **kwargs)[source]#

The split method allows splitting a Path type into a list of subpaths of the same type. A start and/or end may be supplied to select a subset of paths.

property to#

Returns the conversion interface with methods to convert Dataset

transform(*args, **kwargs)[source]#

Transforms the Dataset according to a dimension transform.

Transforms may be supplied as tuples consisting of the dimension(s) and the dim transform to apply or keyword arguments mapping from dimension(s) to dim transforms. If the arg or kwarg declares multiple dimensions the dim transform should return a tuple of values for each.

A transform may override an existing dimension or add a new one in which case it will be added as an additional value dimension.

Args:
args: Specify the output arguments and transforms as a

tuple of dimension specs and dim transforms

drop (bool): Whether to drop all variables not part of the transform keep_index (bool): Whether to keep indexes

Whether to apply transform on datastructure with index, e.g. pandas.Series or xarray.DataArray, (important for dask datastructures where index may be required to align datasets).

kwargs: Specify new dimensions in the form new_dim=dim_transform

Returns:

Transformed dataset with new dimensions

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.Curve(data=None, kdims=None, vdims=None, **kwargs)[source]#

Bases: Selection1DExpr, Chart

Curve is a Chart element representing a line in a 1D coordinate system where the key dimension maps on the line x-coordinate and the first value dimension represents the height of the line along the y-axis.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’Curve’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x119c20b90>)

A string describing the data wrapped by the object.

add_dimension(dimension, dim_pos, dim_val, vdim=False, **kwargs)[source]#

Adds a dimension and its values to the Dataset

Requires the dimension name or object, the desired position in the key dimensions and a key value scalar or array of values, matching the length or shape of the Dataset.

Args:

dimension: Dimension or dimension spec to add dim_pos (int): Integer index to insert dimension at dim_val (scalar or ndarray): Dimension value(s) to add vdim: Disabled, this type does not have value dimensions **kwargs: Keyword arguments passed to the cloned element

Returns:

Cloned object containing the new dimension

aggregate(dimensions=None, function=None, spreadfn=None, **kwargs)[source]#

Aggregates data on the supplied dimensions.

Aggregates over the supplied key dimensions with the defined function or dim_transform specified as a tuple of the transformed dimension name and dim transform.

Args:
dimensions: Dimension(s) to aggregate on

Default to all key dimensions

function: Aggregation function or transform to apply

Supports both simple functions and dimension transforms

spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**kwargs: Keyword arguments either passed to the aggregation function

or to create new names for the transformed variables

Returns:

Returns the aggregated Dataset

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(data=None, shared_data=True, new_type=None, link=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

closest(coords=None, **kwargs)[source]#

Snaps coordinate(s) to closest coordinate in Dataset

Args:

coords: List of coordinates expressed as tuples **kwargs: Coordinates defined as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

columns(dimensions=None)[source]#

Convert dimension values to a dictionary.

Returns a dictionary of column arrays along each dimension of the element.

Args:

dimensions: Dimensions to return as columns

Returns:

Dictionary of arrays for each dimension

compute()[source]#

Computes the data to a data format that stores the daata in memory, e.g. a Dask dataframe or array is converted to a Pandas DataFrame or NumPy array.

Returns:

Dataset with the data stored in in-memory format

property dataset#

The Dataset that this object was created from

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

groupby(dimensions=None, container_type=<class 'holoviews.core.spaces.HoloMap'>, group_type=None, dynamic=False, **kwargs)[source]#

Groups object by one or more dimensions

Applies groupby operation over the specified dimensions returning an object of type container_type (expected to be dictionary-like) containing the groups.

Args:

dimensions: Dimension(s) to group by container_type: Type to cast group container to group_type: Type to cast each group to dynamic: Whether to return a DynamicMap **kwargs: Keyword arguments to pass to each group

Returns:

Returns object of supplied container_type containing the groups. If dynamic=True returns a DynamicMap instead.

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

property iloc#

Returns iloc indexer with support for columnar indexing.

Returns an iloc object providing a convenient interface to slice and index into the Dataset using row and column indices. Allow selection by integer index, slice and list of integer indices and boolean arrays.

Examples:

  • Index the first row and column:

    dataset.iloc[0, 0]

  • Select rows 1 and 2 with a slice:

    dataset.iloc[1:3, :]

  • Select with a list of integer coordinates:

    dataset.iloc[[0, 2, 3]]

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

property ndloc#

Returns ndloc indexer with support for gridded indexing.

Returns an ndloc object providing nd-array like indexing for gridded datasets. Follows NumPy array indexing conventions, allowing for indexing, slicing and selecting a list of indices on multi-dimensional arrays using integer indices. The order of array indices is inverted relative to the Dataset key dimensions, e.g. an Image with key dimensions ‘x’ and ‘y’ can be indexed with image.ndloc[iy, ix], where iy and ix are integer indices along the y and x dimensions.

Examples:

  • Index value in 2D array:

    dataset.ndloc[3, 1]

  • Slice along y-axis of 2D array:

    dataset.ndloc[2:5, :]

  • Vectorized (non-orthogonal) indexing along x- and y-axes:

    dataset.ndloc[[1, 2, 3], [0, 2, 3]]

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

persist()[source]#

Persists the results of a lazy data interface to memory to speed up data manipulation and visualization. If the particular data backend already holds the data in memory this is a no-op. Unlike the compute method this maintains the same data type.

Returns:

Dataset with the data persisted to memory

property pipeline#

Chain operation that evaluates the sequence of operations that was used to create this object, starting with the Dataset stored in dataset property

range(dim, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reductions)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The Dataset after reductions have been applied.

reindex(kdims=None, vdims=None)[source]#

Reindexes Dataset dropping static or supplied kdims

Creates a new object with a reordered or reduced set of key dimensions. By default drops all non-varying key dimensions.x

Args:

kdims (optional): New list of key dimensionsx vdims (optional): New list of value dimensions

Returns:

Reindexed object

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=True, **kwargs)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_expr=None, selection_specs=None, **selection)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

  • predicate expression: A holoviews.dim expression, e.g.:

    from holoviews import dim ds.select(selection_expr=dim(‘x’) % 2 == 0)

Args:
selection_expr: holoviews.dim predicate expression

specifying selection.

selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

property shape#

Returns the shape of the data.

sort(by=None, reverse=False)[source]#

Sorts the data by the values along the supplied dimensions.

Args:

by: Dimension(s) to sort by reverse (bool, optional): Reverse sort order

Returns:

Sorted Dataset

property to#

Returns the conversion interface with methods to convert Dataset

transform(*args, **kwargs)[source]#

Transforms the Dataset according to a dimension transform.

Transforms may be supplied as tuples consisting of the dimension(s) and the dim transform to apply or keyword arguments mapping from dimension(s) to dim transforms. If the arg or kwarg declares multiple dimensions the dim transform should return a tuple of values for each.

A transform may override an existing dimension or add a new one in which case it will be added as an additional value dimension.

Args:
args: Specify the output arguments and transforms as a

tuple of dimension specs and dim transforms

drop (bool): Whether to drop all variables not part of the transform keep_index (bool): Whether to keep indexes

Whether to apply transform on datastructure with index, e.g. pandas.Series or xarray.DataArray, (important for dask datastructures where index may be required to align datasets).

kwargs: Specify new dimensions in the form new_dim=dim_transform

Returns:

Transformed dataset with new dimensions

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.Cycle(cycle=None, **params)[source]#

Bases: Parameterized

A simple container class that specifies cyclic options. A typical example would be to cycle the curve colors in an Overlay composed of an arbitrary number of curves. The values may be supplied as an explicit list or a key to look up in the default cycles attribute.

key = param.String(allow_None=True, allow_refs=False, default=’default_colors’, label=’Key’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b20e6d0>)

The key in the default_cycles dictionary used to specify the color cycle if values is not supplied.

values = param.List(allow_refs=False, bounds=(0, None), default=[], label=’Values’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11a4c6450>)

The values the cycle will iterate over.

class holoviews.__init__.Dataset(data=None, kdims=None, vdims=None, **kwargs)[source]#

Bases: Element

Dataset provides a general baseclass for Element types that contain structured data and supports a range of data formats.

The Dataset class supports various methods offering a consistent way of working with the stored data regardless of the storage format used. These operations include indexing, selection and various ways of aggregating or collapsing the data with a supplied function.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’Dataset’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c04d150>)

A string describing the data wrapped by the object.

datatype = param.List(allow_refs=False, bounds=(0, None), default=[‘dataframe’, ‘dictionary’, ‘grid’, ‘xarray’, ‘multitabular’, ‘spatialpandas’, ‘dask_spatialpandas’, ‘dask’, ‘cuDF’, ‘array’, ‘ibis’], label=’Datatype’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c04e390>)

A priority list of the data types to be used for storage on the .data attribute. If the input supplied to the element constructor cannot be put into the requested format, the next format listed will be used until a suitable format is found (or the data fails to be understood).

add_dimension(dimension, dim_pos, dim_val, vdim=False, **kwargs)[source]#

Adds a dimension and its values to the Dataset

Requires the dimension name or object, the desired position in the key dimensions and a key value scalar or array of values, matching the length or shape of the Dataset.

Args:

dimension: Dimension or dimension spec to add dim_pos (int): Integer index to insert dimension at dim_val (scalar or ndarray): Dimension value(s) to add vdim: Disabled, this type does not have value dimensions **kwargs: Keyword arguments passed to the cloned element

Returns:

Cloned object containing the new dimension

aggregate(dimensions=None, function=None, spreadfn=None, **kwargs)[source]#

Aggregates data on the supplied dimensions.

Aggregates over the supplied key dimensions with the defined function or dim_transform specified as a tuple of the transformed dimension name and dim transform.

Args:
dimensions: Dimension(s) to aggregate on

Default to all key dimensions

function: Aggregation function or transform to apply

Supports both simple functions and dimension transforms

spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**kwargs: Keyword arguments either passed to the aggregation function

or to create new names for the transformed variables

Returns:

Returns the aggregated Dataset

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(data=None, shared_data=True, new_type=None, link=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

closest(coords=None, **kwargs)[source]#

Snaps coordinate(s) to closest coordinate in Dataset

Args:

coords: List of coordinates expressed as tuples **kwargs: Coordinates defined as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

columns(dimensions=None)[source]#

Convert dimension values to a dictionary.

Returns a dictionary of column arrays along each dimension of the element.

Args:

dimensions: Dimensions to return as columns

Returns:

Dictionary of arrays for each dimension

compute()[source]#

Computes the data to a data format that stores the daata in memory, e.g. a Dask dataframe or array is converted to a Pandas DataFrame or NumPy array.

Returns:

Dataset with the data stored in in-memory format

property dataset#

The Dataset that this object was created from

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

groupby(dimensions=None, container_type=<class 'holoviews.core.spaces.HoloMap'>, group_type=None, dynamic=False, **kwargs)[source]#

Groups object by one or more dimensions

Applies groupby operation over the specified dimensions returning an object of type container_type (expected to be dictionary-like) containing the groups.

Args:

dimensions: Dimension(s) to group by container_type: Type to cast group container to group_type: Type to cast each group to dynamic: Whether to return a DynamicMap **kwargs: Keyword arguments to pass to each group

Returns:

Returns object of supplied container_type containing the groups. If dynamic=True returns a DynamicMap instead.

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

property iloc#

Returns iloc indexer with support for columnar indexing.

Returns an iloc object providing a convenient interface to slice and index into the Dataset using row and column indices. Allow selection by integer index, slice and list of integer indices and boolean arrays.

Examples:

  • Index the first row and column:

    dataset.iloc[0, 0]

  • Select rows 1 and 2 with a slice:

    dataset.iloc[1:3, :]

  • Select with a list of integer coordinates:

    dataset.iloc[[0, 2, 3]]

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

property ndloc#

Returns ndloc indexer with support for gridded indexing.

Returns an ndloc object providing nd-array like indexing for gridded datasets. Follows NumPy array indexing conventions, allowing for indexing, slicing and selecting a list of indices on multi-dimensional arrays using integer indices. The order of array indices is inverted relative to the Dataset key dimensions, e.g. an Image with key dimensions ‘x’ and ‘y’ can be indexed with image.ndloc[iy, ix], where iy and ix are integer indices along the y and x dimensions.

Examples:

  • Index value in 2D array:

    dataset.ndloc[3, 1]

  • Slice along y-axis of 2D array:

    dataset.ndloc[2:5, :]

  • Vectorized (non-orthogonal) indexing along x- and y-axes:

    dataset.ndloc[[1, 2, 3], [0, 2, 3]]

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

persist()[source]#

Persists the results of a lazy data interface to memory to speed up data manipulation and visualization. If the particular data backend already holds the data in memory this is a no-op. Unlike the compute method this maintains the same data type.

Returns:

Dataset with the data persisted to memory

property pipeline#

Chain operation that evaluates the sequence of operations that was used to create this object, starting with the Dataset stored in dataset property

range(dim, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reductions)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The Dataset after reductions have been applied.

reindex(kdims=None, vdims=None)[source]#

Reindexes Dataset dropping static or supplied kdims

Creates a new object with a reordered or reduced set of key dimensions. By default drops all non-varying key dimensions.x

Args:

kdims (optional): New list of key dimensionsx vdims (optional): New list of value dimensions

Returns:

Reindexed object

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=True, **kwargs)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_expr=None, selection_specs=None, **selection)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

  • predicate expression: A holoviews.dim expression, e.g.:

    from holoviews import dim ds.select(selection_expr=dim(‘x’) % 2 == 0)

Args:
selection_expr: holoviews.dim predicate expression

specifying selection.

selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

property shape#

Returns the shape of the data.

sort(by=None, reverse=False)[source]#

Sorts the data by the values along the supplied dimensions.

Args:

by: Dimension(s) to sort by reverse (bool, optional): Reverse sort order

Returns:

Sorted Dataset

property to#

Returns the conversion interface with methods to convert Dataset

transform(*args, **kwargs)[source]#

Transforms the Dataset according to a dimension transform.

Transforms may be supplied as tuples consisting of the dimension(s) and the dim transform to apply or keyword arguments mapping from dimension(s) to dim transforms. If the arg or kwarg declares multiple dimensions the dim transform should return a tuple of values for each.

A transform may override an existing dimension or add a new one in which case it will be added as an additional value dimension.

Args:
args: Specify the output arguments and transforms as a

tuple of dimension specs and dim transforms

drop (bool): Whether to drop all variables not part of the transform keep_index (bool): Whether to keep indexes

Whether to apply transform on datastructure with index, e.g. pandas.Series or xarray.DataArray, (important for dask datastructures where index may be required to align datasets).

kwargs: Specify new dimensions in the form new_dim=dim_transform

Returns:

Transformed dataset with new dimensions

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.Dimension(spec, **params)[source]#

Bases: Parameterized

Dimension objects are used to specify some important general features that may be associated with a collection of values.

For instance, a Dimension may specify that a set of numeric values actually correspond to ‘Height’ (dimension name), in units of meters, with a descriptive label ‘Height of adult males’.

All dimensions object have a name that identifies them and a label containing a suitable description. If the label is not explicitly specified it matches the name.

These two parameters define the core identity of the dimension object and must match if two dimension objects are to be considered equivalent. All other parameters are considered optional metadata and are not used when testing for equality.

Unlike all the other parameters, these core parameters can be used to construct a Dimension object from a tuple. This format is sufficient to define an identical Dimension:

Dimension(‘a’, label=’Dimension A’) == Dimension((‘a’, ‘Dimension A’))

Everything else about a dimension is considered to reflect non-semantic preferences. Examples include the default value (which may be used in a visualization to set an initial slider position), how the value is to rendered as text (which may be used to specify the printed floating point precision) or a suitable range of values to consider for a particular analysis.

Units#

Full unit support with automated conversions are on the HoloViews roadmap. Once rich unit objects are supported, the unit (or more specifically the type of unit) will be part of the core dimension specification used to establish equality.

Until this feature is implemented, there are two auxiliary parameters that hold some partial information about the unit: the name of the unit and whether or not it is cyclic. The name of the unit is used as part of the pretty-printed representation and knowing whether it is cyclic is important for certain operations.

label = param.String(allow_None=True, allow_refs=False, label=’Label’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11d006d50>)

Unrestricted label used to describe the dimension. A label should succinctly describe the dimension and may contain any characters, including Unicode and LaTeX expression.

cyclic = param.Boolean(allow_refs=False, default=False, label=’Cyclic’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c72c8d0>)

Whether the range of this feature is cyclic such that the maximum allowed value (defined by the range parameter) is continuous with the minimum allowed value.

default = param.Parameter(allow_None=True, allow_refs=False, label=’Default’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11d004290>)

Default value of the Dimension which may be useful for widget or other situations that require an initial or default value.

nodata = param.Integer(allow_None=True, allow_refs=False, inclusive_bounds=(True, True), label=’Nodata’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c72e550>)

Optional missing-data value for integer data. If non-None, data with this value will be replaced with NaN.

range = param.Tuple(allow_refs=False, default=(None, None), label=’Range’, length=2, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11d004290>)

Specifies the minimum and maximum allowed values for a Dimension. None is used to represent an unlimited bound.

soft_range = param.Tuple(allow_refs=False, default=(None, None), label=’Soft range’, length=2, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11d0055d0>)

Specifies a minimum and maximum reference value, which may be overridden by the data.

step = param.Number(allow_None=True, allow_refs=False, inclusive_bounds=(True, True), label=’Step’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c72c8d0>)

Optional floating point step specifying how frequently the underlying space should be sampled. May be used to define a discrete sampling over the range.

type = param.Parameter(allow_None=True, allow_refs=False, label=’Type’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11d006a50>)

Optional type associated with the Dimension values. The type may be an inbuilt constructor (such as int, str, float) or a custom class object.

unit = param.String(allow_None=True, allow_refs=False, label=’Unit’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11d006050>)

Optional unit string associated with the Dimension. For instance, the string ‘m’ may be used represent units of meters and ‘s’ to represent units of seconds.

value_format = param.Callable(allow_None=True, allow_refs=False, label=’Value format’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11b7ca710>)

Formatting function applied to each value before display.

values = param.List(allow_refs=False, bounds=(0, None), default=[], label=’Values’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11d006050>)

Optional specification of the allowed value set for the dimension that may also be used to retain a categorical ordering.

clone(spec=None, **overrides)[source]#

Clones the Dimension with new parameters

Derive a new Dimension that inherits existing parameters except for the supplied, explicit overrides

Args:

spec (tuple, optional): Dimension tuple specification **overrides: Dimension parameter overrides

Returns:

Cloned Dimension object

property pprint_label#

The pretty-printed label string for the Dimension

pprint_value(value, print_unit=False)[source]#

Applies the applicable formatter to the value.

Args:

value: Dimension value to format

Returns:

Formatted dimension value

pprint_value_string(value)[source]#

Pretty print the dimension value and unit with title_format

Args:

value: Dimension value to format

Returns:

Formatted dimension value string with unit

property spec#

“Returns the Dimensions tuple specification

Returns:

tuple: Dimension tuple specification

class holoviews.__init__.Distribution(data=None, kdims=None, vdims=None, **kwargs)[source]#

Bases: Selection1DExpr, StatisticsElement

Distribution elements provides a representation for a one-dimensional distribution which can be visualized as a kernel density estimate. The data should be supplied in a tabular format and will use the first column.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’Distribution’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c7736d0>)

A string describing the data wrapped by the object.

kdims = param.List(allow_refs=False, bounds=(1, 1), default=[Dimension(‘Value’)], label=’Kdims’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c648f50>)

The key dimensions defined as list of dimensions that may be used in indexing (and potential slicing) semantics. The order of the dimensions listed here determines the semantics of each component of a multi-dimensional indexing operation. Aliased with key_dimensions.

vdims = param.List(allow_refs=False, bounds=(0, 1), default=[Dimension(‘Density’)], label=’Vdims’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c772cd0>)

The value dimensions defined as the list of dimensions used to describe the components of the data. If multiple value dimensions are supplied, a particular value dimension may be indexed by name after the key dimensions. Aliased with value_dimensions.

add_dimension(dimension, dim_pos, dim_val, vdim=False, **kwargs)[source]#

Adds a dimension and its values to the Dataset

Requires the dimension name or object, the desired position in the key dimensions and a key value scalar or array of values, matching the length or shape of the Dataset.

Args:

dimension: Dimension or dimension spec to add dim_pos (int): Integer index to insert dimension at dim_val (scalar or ndarray): Dimension value(s) to add vdim: Disabled, this type does not have value dimensions **kwargs: Keyword arguments passed to the cloned element

Returns:

Cloned object containing the new dimension

aggregate(dimensions=None, function=None, spreadfn=None, **kwargs)[source]#

Aggregates data on the supplied dimensions.

Aggregates over the supplied key dimensions with the defined function or dim_transform specified as a tuple of the transformed dimension name and dim transform.

Args:
dimensions: Dimension(s) to aggregate on

Default to all key dimensions

function: Aggregation function or transform to apply

Supports both simple functions and dimension transforms

spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**kwargs: Keyword arguments either passed to the aggregation function

or to create new names for the transformed variables

Returns:

Returns the aggregated Dataset

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(data=None, shared_data=True, new_type=None, link=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

closest(coords=None, **kwargs)[source]#

Snaps coordinate(s) to closest coordinate in Dataset

Args:

coords: List of coordinates expressed as tuples **kwargs: Coordinates defined as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

columns(dimensions=None)[source]#

Convert dimension values to a dictionary.

Returns a dictionary of column arrays along each dimension of the element.

Args:

dimensions: Dimensions to return as columns

Returns:

Dictionary of arrays for each dimension

compute()[source]#

Computes the data to a data format that stores the daata in memory, e.g. a Dask dataframe or array is converted to a Pandas DataFrame or NumPy array.

Returns:

Dataset with the data stored in in-memory format

property dataset#

The Dataset that this object was created from

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dim, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

groupby(dimensions=None, container_type=<class 'holoviews.core.spaces.HoloMap'>, group_type=None, dynamic=False, **kwargs)[source]#

Groups object by one or more dimensions

Applies groupby operation over the specified dimensions returning an object of type container_type (expected to be dictionary-like) containing the groups.

Args:

dimensions: Dimension(s) to group by container_type: Type to cast group container to group_type: Type to cast each group to dynamic: Whether to return a DynamicMap **kwargs: Keyword arguments to pass to each group

Returns:

Returns object of supplied container_type containing the groups. If dynamic=True returns a DynamicMap instead.

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

property iloc#

Returns iloc indexer with support for columnar indexing.

Returns an iloc object providing a convenient interface to slice and index into the Dataset using row and column indices. Allow selection by integer index, slice and list of integer indices and boolean arrays.

Examples:

  • Index the first row and column:

    dataset.iloc[0, 0]

  • Select rows 1 and 2 with a slice:

    dataset.iloc[1:3, :]

  • Select with a list of integer coordinates:

    dataset.iloc[[0, 2, 3]]

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

property ndloc#

Returns ndloc indexer with support for gridded indexing.

Returns an ndloc object providing nd-array like indexing for gridded datasets. Follows NumPy array indexing conventions, allowing for indexing, slicing and selecting a list of indices on multi-dimensional arrays using integer indices. The order of array indices is inverted relative to the Dataset key dimensions, e.g. an Image with key dimensions ‘x’ and ‘y’ can be indexed with image.ndloc[iy, ix], where iy and ix are integer indices along the y and x dimensions.

Examples:

  • Index value in 2D array:

    dataset.ndloc[3, 1]

  • Slice along y-axis of 2D array:

    dataset.ndloc[2:5, :]

  • Vectorized (non-orthogonal) indexing along x- and y-axes:

    dataset.ndloc[[1, 2, 3], [0, 2, 3]]

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

persist()[source]#

Persists the results of a lazy data interface to memory to speed up data manipulation and visualization. If the particular data backend already holds the data in memory this is a no-op. Unlike the compute method this maintains the same data type.

Returns:

Dataset with the data persisted to memory

property pipeline#

Chain operation that evaluates the sequence of operations that was used to create this object, starting with the Dataset stored in dataset property

range(dim, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reductions)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The Dataset after reductions have been applied.

reindex(kdims=None, vdims=None)[source]#

Reindexes Dataset dropping static or supplied kdims

Creates a new object with a reordered or reduced set of key dimensions. By default drops all non-varying key dimensions.x

Args:

kdims (optional): New list of key dimensionsx vdims (optional): New list of value dimensions

Returns:

Reindexed object

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=True, **kwargs)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_expr=None, selection_specs=None, **selection)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

  • predicate expression: A holoviews.dim expression, e.g.:

    from holoviews import dim ds.select(selection_expr=dim(‘x’) % 2 == 0)

Args:
selection_expr: holoviews.dim predicate expression

specifying selection.

selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

property shape#

Returns the shape of the data.

sort(by=None, reverse=False)[source]#

Sorts the data by the values along the supplied dimensions.

Args:

by: Dimension(s) to sort by reverse (bool, optional): Reverse sort order

Returns:

Sorted Dataset

property to#

Returns the conversion interface with methods to convert Dataset

transform(*args, **kwargs)[source]#

Transforms the Dataset according to a dimension transform.

Transforms may be supplied as tuples consisting of the dimension(s) and the dim transform to apply or keyword arguments mapping from dimension(s) to dim transforms. If the arg or kwarg declares multiple dimensions the dim transform should return a tuple of values for each.

A transform may override an existing dimension or add a new one in which case it will be added as an additional value dimension.

Args:
args: Specify the output arguments and transforms as a

tuple of dimension specs and dim transforms

drop (bool): Whether to drop all variables not part of the transform keep_index (bool): Whether to keep indexes

Whether to apply transform on datastructure with index, e.g. pandas.Series or xarray.DataArray, (important for dask datastructures where index may be required to align datasets).

kwargs: Specify new dimensions in the form new_dim=dim_transform

Returns:

Transformed dataset with new dimensions

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.Div(data, **params)[source]#

Bases: Element

The Div element represents a div DOM node in an HTML document defined as a string containing valid HTML.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’Div’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c47d350>)

A string describing the data wrapped by the object.

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(data=None, shared_data=True, new_type=None, link=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

closest(coords, **kwargs)[source]#

Snap list or dict of coordinates to closest position.

Args:

coords: List of 1D or 2D coordinates **kwargs: Coordinates specified as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

range(dimension, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reduction)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The element after reductions have been applied.

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=False, **sample_values)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_specs=None, **kwargs)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

Args:
selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.DynamicMap(callback, initial_items=None, streams=None, **params)[source]#

Bases: HoloMap

A DynamicMap is a type of HoloMap where the elements are dynamically generated by a callable. The callable is invoked with values associated with the key dimensions or with values supplied by stream parameters.

Parameters inherited from:

kdims = param.List(allow_refs=False, bounds=(0, None), constant=True, default=[], label=’Kdims’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c52edd0>)

The key dimensions of a DynamicMap map to the arguments of the callback. This mapping can be by position or by name.

callback = param.ClassSelector(allow_None=True, allow_refs=False, class_=<class ‘holoviews.core.spaces.Callable’>, constant=True, label=’Callback’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c43b890>)

The callable used to generate the elements. The arguments to the callable includes any number of declared key dimensions as well as any number of stream parameters defined on the input streams. If the callable is an instance of Callable it will be used directly, otherwise it will be automatically wrapped in one.

streams = param.List(allow_refs=False, bounds=(0, None), constant=True, default=[], label=’Streams’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c52f950>)

List of Stream instances to associate with the DynamicMap. The set of parameter values across these streams will be supplied as keyword arguments to the callback when the events are received, updating the streams. Can also be supplied as a dictionary that maps parameters or panel widgets to callback argument names that will then be automatically converted to the equivalent list format.

cache_size = param.Integer(allow_refs=False, bounds=(1, None), default=500, inclusive_bounds=(True, True), label=’Cache size’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c43b210>)

The number of entries to cache for fast access. This is an LRU cache where the least recently used item is overwritten once the cache is full.

positional_stream_args = param.Boolean(allow_refs=False, constant=True, default=False, label=’Positional stream args’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c52fd10>)

If False, stream parameters are passed to the callback as keyword arguments. If True, stream parameters are passed to callback as positional arguments. Each positional argument is a dict containing the contents of a stream. The positional stream arguments follow the positional arguments for each kdim, and they are ordered to match the order of the DynamicMap’s streams list.

add_dimension(dimension, dim_pos, dim_val, vdim=False, **kwargs)[source]#

Adds a dimension and its values to the object

Requires the dimension name or object, the desired position in the key dimensions and a key value scalar or sequence of the same length as the existing keys.

Args:

dimension: Dimension or dimension spec to add dim_pos (int) Integer index to insert dimension at dim_val (scalar or ndarray): Dimension value(s) to add vdim: Disabled, this type does not have value dimensions **kwargs: Keyword arguments passed to the cloned element

Returns:

Cloned object containing the new dimension

clone(data=None, shared_data=True, new_type=None, link=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

collapse(dimensions=None, function=None, spreadfn=None, **kwargs)[source]#

Concatenates and aggregates along supplied dimensions

Useful to collapse stacks of objects into a single object, e.g. to average a stack of Images or Curves.

Args:
dimensions: Dimension(s) to collapse

Defaults to all key dimensions

function: Aggregation function to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**kwargs: Keyword arguments passed to the aggregation function

Returns:

Returns the collapsed element or HoloMap of collapsed elements

collate()[source]#

Unpacks DynamicMap into container of DynamicMaps

Collation allows unpacking DynamicMaps which return Layout, NdLayout or GridSpace objects into a single such object containing DynamicMaps. Assumes that the items in the layout or grid that is returned do not change.

Returns:

Collated container containing DynamicMaps

property current_key#

Returns the current key value.

property ddims#

The list of deep dimensions

decollate()[source]#

Packs DynamicMap of nested DynamicMaps into a single DynamicMap that returns a non-dynamic element

Decollation allows packing a DynamicMap of nested DynamicMaps into a single DynamicMap that returns a simple (non-dynamic) element. All nested streams are lifted to the resulting DynamicMap, and are available in the streams property. The callback property of the resulting DynamicMap is a pure, stateless function of the stream values. To avoid stream parameter name conflicts, the resulting DynamicMap is configured with positional_stream_args=True, and the callback function accepts stream values as positional dict arguments.

Returns:

DynamicMap that returns a non-dynamic element

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

drop_dimension(dimensions)[source]#

Drops dimension(s) from keys

Args:

dimensions: Dimension(s) to drop

Returns:

Clone of object with with dropped dimension(s)

event(**kwargs)[source]#

Updates attached streams and triggers events

Automatically find streams matching the supplied kwargs to update and trigger events on them.

Args:

**kwargs: Events to update streams with

get(key, default=None)[source]#

Standard get semantics for all mapping types

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

grid(dimensions=None, **kwargs)[source]#

Groups data by supplied dimension(s) laying the groups along the dimension(s) out in a GridSpace.

Args: dimensions: Dimension/str or list

Dimension or list of dimensions to group by

Returns: grid: GridSpace

GridSpace with supplied dimensions

property group#

Group inherited from items

groupby(dimensions=None, container_type=None, group_type=None, **kwargs)[source]#

Groups DynamicMap by one or more dimensions

Applies groupby operation over the specified dimensions returning an object of type container_type (expected to be dictionary-like) containing the groups.

Args:

dimensions: Dimension(s) to group by container_type: Type to cast group container to group_type: Type to cast each group to dynamic: Whether to return a DynamicMap **kwargs: Keyword arguments to pass to each group

Returns:

Returns object of supplied container_type containing the groups. If dynamic=True returns a DynamicMap instead.

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of DynamicMap and adjoined histogram if adjoin=True, otherwise just the histogram

property info#

Prints information about the Dimensioned object, including the number and type of objects contained within it and information about its dimensions.

items()[source]#

Returns all elements as a list in (key,value) format.

keys()[source]#

Returns the keys of all the elements.

property label#

Label inherited from items

property last#

Returns the item highest data item along the map dimensions.

property last_key#

Returns the last key value.

layout(dimensions=None, **kwargs)[source]#

Groups data by supplied dimension(s) laying the groups along the dimension(s) out in a NdLayout.

Args: dimensions: Dimension/str or list

Dimension or list of dimensions to group by

Returns: layout: NdLayout

NdLayout with supplied dimensions

map(map_fn, specs=None, clone=True, link_inputs=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

options(*args, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options defined in a flat format to the objects returned by the DynamicMap. If the options are to be set directly on the objects returned by the DynamicMap a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

overlay(dimensions=None, **kwargs)[source]#

Group by supplied dimension(s) and overlay each group

Groups data by supplied dimension(s) overlaying the groups along the dimension(s).

Args:

dimensions: Dimension(s) of dimensions to group by

Returns:

NdOverlay object(s) with supplied dimensions

pop(key, default=None)[source]#

Standard pop semantics for all mapping types

range(dimension, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reindex(kdims=None, force=False)[source]#

Reorders key dimensions on DynamicMap

Create a new object with a reordered set of key dimensions. Dropping dimensions is not allowed on a DynamicMap.

Args:

kdims: List of dimensions to reindex the mapping with force: Not applicable to a DynamicMap

Returns:

Reindexed DynamicMap

relabel(label=None, group=None, depth=1)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

reset()[source]#

Clear the DynamicMap cache

select(selection_specs=None, **kwargs)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

Args:
selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

property type#

The type of elements stored in the mapping.

property unbounded#

Returns a list of key dimensions that are unbounded, excluding stream parameters. If any of these key dimensions are unbounded, the DynamicMap as a whole is also unbounded.

update(other)[source]#

Merges other item with this object

Args:
other: Object containing items to merge into this object

Must be a dictionary or NdMapping type

values()[source]#

Returns the values of all the elements.

class holoviews.__init__.EdgePaths(data=None, kdims=None, vdims=None, **kwargs)[source]#

Bases: Path

EdgePaths is a simple Element representing the paths of edges connecting nodes in a graph.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’EdgePaths’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c644c10>)

A string describing the data wrapped by the object.

add_dimension(dimension, dim_pos, dim_val, vdim=False, **kwargs)[source]#

Adds a dimension and its values to the Dataset

Requires the dimension name or object, the desired position in the key dimensions and a key value scalar or array of values, matching the length or shape of the Dataset.

Args:

dimension: Dimension or dimension spec to add dim_pos (int): Integer index to insert dimension at dim_val (scalar or ndarray): Dimension value(s) to add vdim: Disabled, this type does not have value dimensions **kwargs: Keyword arguments passed to the cloned element

Returns:

Cloned object containing the new dimension

aggregate(dimensions=None, function=None, spreadfn=None, **kwargs)[source]#

Aggregates data on the supplied dimensions.

Aggregates over the supplied key dimensions with the defined function or dim_transform specified as a tuple of the transformed dimension name and dim transform.

Args:
dimensions: Dimension(s) to aggregate on

Default to all key dimensions

function: Aggregation function or transform to apply

Supports both simple functions and dimension transforms

spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**kwargs: Keyword arguments either passed to the aggregation function

or to create new names for the transformed variables

Returns:

Returns the aggregated Dataset

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(data=None, shared_data=True, new_type=None, link=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

closest(coords=None, **kwargs)[source]#

Snaps coordinate(s) to closest coordinate in Dataset

Args:

coords: List of coordinates expressed as tuples **kwargs: Coordinates defined as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

columns(dimensions=None)[source]#

Convert dimension values to a dictionary.

Returns a dictionary of column arrays along each dimension of the element.

Args:

dimensions: Dimensions to return as columns

Returns:

Dictionary of arrays for each dimension

compute()[source]#

Computes the data to a data format that stores the daata in memory, e.g. a Dask dataframe or array is converted to a Pandas DataFrame or NumPy array.

Returns:

Dataset with the data stored in in-memory format

property dataset#

The Dataset that this object was created from

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

groupby(dimensions=None, container_type=<class 'holoviews.core.spaces.HoloMap'>, group_type=None, dynamic=False, **kwargs)[source]#

Groups object by one or more dimensions

Applies groupby operation over the specified dimensions returning an object of type container_type (expected to be dictionary-like) containing the groups.

Args:

dimensions: Dimension(s) to group by container_type: Type to cast group container to group_type: Type to cast each group to dynamic: Whether to return a DynamicMap **kwargs: Keyword arguments to pass to each group

Returns:

Returns object of supplied container_type containing the groups. If dynamic=True returns a DynamicMap instead.

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

property iloc#

Returns iloc indexer with support for columnar indexing.

Returns an iloc object providing a convenient interface to slice and index into the Dataset using row and column indices. Allow selection by integer index, slice and list of integer indices and boolean arrays.

Examples:

  • Index the first row and column:

    dataset.iloc[0, 0]

  • Select rows 1 and 2 with a slice:

    dataset.iloc[1:3, :]

  • Select with a list of integer coordinates:

    dataset.iloc[[0, 2, 3]]

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

property ndloc#

Returns ndloc indexer with support for gridded indexing.

Returns an ndloc object providing nd-array like indexing for gridded datasets. Follows NumPy array indexing conventions, allowing for indexing, slicing and selecting a list of indices on multi-dimensional arrays using integer indices. The order of array indices is inverted relative to the Dataset key dimensions, e.g. an Image with key dimensions ‘x’ and ‘y’ can be indexed with image.ndloc[iy, ix], where iy and ix are integer indices along the y and x dimensions.

Examples:

  • Index value in 2D array:

    dataset.ndloc[3, 1]

  • Slice along y-axis of 2D array:

    dataset.ndloc[2:5, :]

  • Vectorized (non-orthogonal) indexing along x- and y-axes:

    dataset.ndloc[[1, 2, 3], [0, 2, 3]]

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

persist()[source]#

Persists the results of a lazy data interface to memory to speed up data manipulation and visualization. If the particular data backend already holds the data in memory this is a no-op. Unlike the compute method this maintains the same data type.

Returns:

Dataset with the data persisted to memory

property pipeline#

Chain operation that evaluates the sequence of operations that was used to create this object, starting with the Dataset stored in dataset property

range(dim, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reductions)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The Dataset after reductions have been applied.

reindex(kdims=None, vdims=None)[source]#

Reindexes Dataset dropping static or supplied kdims

Creates a new object with a reordered or reduced set of key dimensions. By default drops all non-varying key dimensions.x

Args:

kdims (optional): New list of key dimensionsx vdims (optional): New list of value dimensions

Returns:

Reindexed object

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=True, **kwargs)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_expr=None, selection_specs=None, **selection)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

  • predicate expression: A holoviews.dim expression, e.g.:

    from holoviews import dim ds.select(selection_expr=dim(‘x’) % 2 == 0)

Args:
selection_expr: holoviews.dim predicate expression

specifying selection.

selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

property shape#

Returns the shape of the data.

sort(by=None, reverse=False)[source]#

Sorts the data by the values along the supplied dimensions.

Args:

by: Dimension(s) to sort by reverse (bool, optional): Reverse sort order

Returns:

Sorted Dataset

split(start=None, end=None, datatype=None, **kwargs)[source]#

The split method allows splitting a Path type into a list of subpaths of the same type. A start and/or end may be supplied to select a subset of paths.

property to#

Returns the conversion interface with methods to convert Dataset

transform(*args, **kwargs)[source]#

Transforms the Dataset according to a dimension transform.

Transforms may be supplied as tuples consisting of the dimension(s) and the dim transform to apply or keyword arguments mapping from dimension(s) to dim transforms. If the arg or kwarg declares multiple dimensions the dim transform should return a tuple of values for each.

A transform may override an existing dimension or add a new one in which case it will be added as an additional value dimension.

Args:
args: Specify the output arguments and transforms as a

tuple of dimension specs and dim transforms

drop (bool): Whether to drop all variables not part of the transform keep_index (bool): Whether to keep indexes

Whether to apply transform on datastructure with index, e.g. pandas.Series or xarray.DataArray, (important for dask datastructures where index may be required to align datasets).

kwargs: Specify new dimensions in the form new_dim=dim_transform

Returns:

Transformed dataset with new dimensions

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.Element(data, kdims=None, vdims=None, **params)[source]#

Bases: ViewableElement, Composable, Overlayable

Element is the atomic datastructure used to wrap some data with an associated visual representation, e.g. an element may represent a set of points, an image or a curve. Elements provide a common API for interacting with data of different types and define how the data map to a set of dimensions and how those map to the visual representation.

Parameters inherited from:

group = param.String(allow_refs=False, constant=True, default=’Element’, label=’Group’, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x11c7c2e50>)

A string describing the data wrapped by the object.

array(dimensions=None)[source]#

Convert dimension values to columnar array.

Args:

dimensions: List of dimensions to return

Returns:

Array of columns corresponding to each dimension

clone(data=None, shared_data=True, new_type=None, link=True, *args, **overrides)[source]#

Clones the object, overriding data and parameters.

Args:

data: New data replacing the existing data shared_data (bool, optional): Whether to use existing data new_type (optional): Type to cast object to link (bool, optional): Whether clone should be linked

Determines whether Streams and Links attached to original object will be inherited.

*args: Additional arguments to pass to constructor **overrides: New keyword arguments to pass to constructor

Returns:

Cloned object

closest(coords, **kwargs)[source]#

Snap list or dict of coordinates to closest position.

Args:

coords: List of 1D or 2D coordinates **kwargs: Coordinates specified as keyword pairs

Returns:

List of tuples of the snapped coordinates

Raises:

NotImplementedError: Raised if snapping is not supported

property ddims#

The list of deep dimensions

dframe(dimensions=None, multi_index=False)[source]#

Convert dimension values to DataFrame.

Returns a pandas dataframe of columns along each dimension, either completely flat or indexed by key dimensions.

Args:

dimensions: Dimensions to return as columns multi_index: Convert key dimensions to (multi-)index

Returns:

DataFrame of columns corresponding to each dimension

dimension_values(dimension, expanded=True, flat=True)[source]#

Return the values along the requested dimension.

Args:

dimension: The dimension to return values for expanded (bool, optional): Whether to expand values

Whether to return the expanded values, behavior depends on the type of data:

  • Columnar: If false returns unique values

  • Geometry: If false returns scalar values per geometry

  • Gridded: If false returns 1D coordinates

flat (bool, optional): Whether to flatten array

Returns:

NumPy array of values along the requested dimension

dimensions(selection='all', label=False)[source]#

Lists the available dimensions on the object

Provides convenient access to Dimensions on nested Dimensioned objects. Dimensions can be selected by their type, i.e. ‘key’ or ‘value’ dimensions. By default ‘all’ dimensions are returned.

Args:
selection: Type of dimensions to return

The type of dimension, i.e. one of ‘key’, ‘value’, ‘constant’ or ‘all’.

label: Whether to return the name, label or Dimension

Whether to return the Dimension objects (False), the Dimension names (True/’name’) or labels (‘label’).

Returns:

List of Dimension objects or their names or labels

get_dimension(dimension, default=None, strict=False)[source]#

Get a Dimension object by name or index.

Args:

dimension: Dimension to look up by name or integer index default (optional): Value returned if Dimension not found strict (bool, optional): Raise a KeyError if not found

Returns:

Dimension object for the requested dimension or default

get_dimension_index(dimension)[source]#

Get the index of the requested dimension.

Args:

dimension: Dimension to look up by name or by index

Returns:

Integer index of the requested dimension

get_dimension_type(dim)[source]#

Get the type of the requested dimension.

Type is determined by Dimension.type attribute or common type of the dimension values, otherwise None.

Args:

dimension: Dimension to look up by name or by index

Returns:

Declared type of values along the dimension

hist(dimension=None, num_bins=20, bin_range=None, adjoin=True, **kwargs)[source]#

Computes and adjoins histogram along specified dimension(s).

Defaults to first value dimension if present otherwise falls back to first key dimension.

Args:

dimension: Dimension(s) to compute histogram on num_bins (int, optional): Number of bins bin_range (tuple optional): Lower and upper bounds of bins adjoin (bool, optional): Whether to adjoin histogram

Returns:

AdjointLayout of element and histogram or just the histogram

map(map_fn, specs=None, clone=True)[source]#

Map a function to all objects matching the specs

Recursively replaces elements using a map function when the specs apply, by default applies to all objects, e.g. to apply the function to all contained Curve objects:

dmap.map(fn, hv.Curve)

Args:

map_fn: Function to apply to each object specs: List of specs to match

List of types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

clone: Whether to clone the object or transform inplace

Returns:

Returns the object after the map_fn has been applied

matches(spec)[source]#

Whether the spec applies to this object.

Args:
spec: A function, spec or type to check for a match
  • A ‘type[[.group].label]’ string which is compared against the type, group and label of this object

  • A function which is given the object and returns a boolean.

  • An object type matched using isinstance.

Returns:

bool: Whether the spec matched this object.

options(*args, clone=True, **kwargs)[source]#

Applies simplified option definition returning a new object.

Applies options on an object or nested group of objects in a flat format returning a new object with the options applied. If the options are to be set directly on the object a simple format may be used, e.g.:

obj.options(cmap=’viridis’, show_title=False)

If the object is nested the options must be qualified using a type[.group][.label] specification, e.g.:

obj.options(‘Image’, cmap=’viridis’, show_title=False)

or using:

obj.options({‘Image’: dict(cmap=’viridis’, show_title=False)})

Identical to the .opts method but returns a clone of the object by default.

Args:
*args: Sets of options to apply to object

Supports a number of formats including lists of Options objects, a type[.group][.label] followed by a set of keyword options to apply and a dictionary indexed by type[.group][.label] specs.

backend (optional): Backend to apply options to

Defaults to current selected backend

clone (bool, optional): Whether to clone object

Options can be applied inplace with clone=False

**kwargs: Keywords of options

Set of options to apply to the object

Returns:

Returns the cloned object with the options applied

range(dimension, data_range=True, dimension_range=True)[source]#

Return the lower and upper bounds of values along dimension.

Args:

dimension: The dimension to compute the range on. data_range (bool): Compute range from data values dimension_range (bool): Include Dimension ranges

Whether to include Dimension range and soft_range in range calculation

Returns:

Tuple containing the lower and upper bound

reduce(dimensions=None, function=None, spreadfn=None, **reduction)[source]#

Applies reduction along the specified dimension(s).

Allows reducing the values along one or more key dimension with the supplied function. Supports two signatures:

Reducing with a list of dimensions, e.g.:

ds.reduce([‘x’], np.mean)

Defining a reduction using keywords, e.g.:

ds.reduce(x=np.mean)

Args:
dimensions: Dimension(s) to apply reduction on

Defaults to all key dimensions

function: Reduction operation to apply, e.g. numpy.mean spreadfn: Secondary reduction to compute value spread

Useful for computing a confidence interval, spread, or standard deviation.

**reductions: Keyword argument defining reduction

Allows reduction to be defined as keyword pair of dimension and function

Returns:

The element after reductions have been applied.

relabel(label=None, group=None, depth=0)[source]#

Clone object and apply new group and/or label.

Applies relabeling to children up to the supplied depth.

Args:

label (str, optional): New label to apply to returned object group (str, optional): New group to apply to returned object depth (int, optional): Depth to which relabel will be applied

If applied to container allows applying relabeling to contained objects up to the specified depth

Returns:

Returns relabelled object

sample(samples=None, bounds=None, closest=False, **sample_values)[source]#

Samples values at supplied coordinates.

Allows sampling of element with a list of coordinates matching the key dimensions, returning a new object containing just the selected samples. Supports multiple signatures:

Sampling with a list of coordinates, e.g.:

ds.sample([(0, 0), (0.1, 0.2), …])

Sampling a range or grid of coordinates, e.g.:

1D: ds.sample(3) 2D: ds.sample((3, 3))

Sampling by keyword, e.g.:

ds.sample(x=0)

Args:

samples: List of nd-coordinates to sample bounds: Bounds of the region to sample

Defined as two-tuple for 1D sampling and four-tuple for 2D sampling.

closest: Whether to snap to closest coordinates **kwargs: Coordinates specified as keyword pairs

Keywords of dimensions and scalar coordinates

Returns:

Element containing the sampled coordinates

select(selection_specs=None, **kwargs)[source]#

Applies selection by dimension name

Applies a selection along the dimensions of the object using keyword arguments. The selection may be narrowed to certain objects using selection_specs. For container objects the selection will be applied to all children as well.

Selections may select a specific value, slice or set of values:

  • value: Scalar values will select rows along with an exact

    match, e.g.:

    ds.select(x=3)

  • slice: Slices may be declared as tuples of the upper and

    lower bound, e.g.:

    ds.select(x=(0, 3))

  • values: A list of values may be selected using a list or

    set, e.g.:

    ds.select(x=[0, 1, 2])

Args:
selection_specs: List of specs to match on

A list of types, functions, or type[.group][.label] strings specifying which objects to apply the selection on.

**selection: Dictionary declaring selections by dimension

Selections can be scalar values, tuple ranges, lists of discrete values and boolean arrays

Returns:

Returns an Dimensioned object containing the selected data or a scalar if a single value was selected

traverse(fn=None, specs=None, full_breadth=True)[source]#

Traverses object returning matching items Traverses the set of children of the object, collecting the all objects matching the defined specs. Each object can be processed with the supplied function. Args:

fn (function, optional): Function applied to matched objects specs: List of specs to match

Specs must be types, functions or type[.group][.label] specs to select objects to return, by default applies to all objects.

full_breadth: Whether to traverse all objects

Whether to traverse the full set of objects on each container or only the first.

Returns:

list: List of objects that matched

class holoviews.__init__.Ellipse(*args, **kwargs)[source]#

Bases: BaseShape

Draw an axis-aligned ellipse at the specified x,y position with the given orientation.

The simplest (default) Ellipse is a circle, specified using:

Ellipse(x,y, diameter)

A circle is a degenerate ellipse where the width and height are equal. To specify these explicitly, you can use:

Ellipse(x,y, (width, height))

There is also an aspect parameter allowing you to generate an ellipse by specifying a multiplicating factor that will be applied to the height only.

Note that as a subclass of Path, internally an Ellipse is a sequence of (x,y) sample positions. Ellipse could also be implemented as an annotation that uses a dedicated ellipse artist.

Parameters inherited from: