Source code for deephaven.plot.selectable_dataset
#
# Copyright (c) 2016-2026 Deephaven Data Labs and Patent Pending
#
"""This module defines the SelectableDateSet which is used to provides a view of a selectable subset of a table.
For example, in some selectable data sets, a GUI click can be used to select a portion of a table."""
from typing import Optional
import jpy
from deephaven import DHError
from deephaven._wrapper import JObjectWrapper
from deephaven.table import PartitionedTable, Table
_JSelectableDataSet = jpy.get_type("io.deephaven.plot.filters.SelectableDataSet")
_JSelectables = jpy.get_type("io.deephaven.plot.filters.Selectables")
[docs]class SelectableDataSet(JObjectWrapper):
"""A SelectableDataSet provides a view of a selectable subset of a table. For example, in some selectable data
sets, a GUI click can be used to select a portion of a table."""
j_object_type = _JSelectableDataSet
def __init__(self, j_sds: jpy.JType):
self.j_sds = j_sds
@property
def j_object(self) -> jpy.JType:
return self.j_sds
[docs]def one_click(
t: Table, by: Optional[list[str]] = None, require_all_filters: bool = False
) -> SelectableDataSet:
"""Creates a SelectableDataSet with the specified columns from a table.
Args:
t (Table): the source table
by (Optional[list[str]]): the selected columns, defaults to None
require_all_filters (bool): false to display data when not all oneclicks are selected; true to only
display data when appropriate oneclicks are selected
Returns:
a SelectableDataSet
Raises:
DHError
"""
if not by:
by = []
try:
return SelectableDataSet(
j_sds=_JSelectables.oneClick(t.j_table, require_all_filters, *by)
)
except Exception as e:
raise DHError(e, "failed in one_click.") from e
[docs]def one_click_partitioned_table(
pt: PartitionedTable, require_all_filters: bool = False
) -> SelectableDataSet:
"""Creates a SelectableDataSet with the specified columns from the table map.
Args:
pt (PartitionedTable): the source partitioned table
require_all_filters (bool): false to display data when not all oneclicks are selected; true to only
display data when appropriate oneclicks are selected
Returns:
a SelectableDataSet
Raises:
DHError
"""
try:
return SelectableDataSet(
j_sds=_JSelectables.oneClick(pt.j_partitioned_table, require_all_filters)
)
except Exception as e:
raise DHError(e, "failed in one_click.") from e