PerspectiveWidget
for JupyterLab
Building on top of the API provided by perspective.Table
, the
PerspectiveWidget
is a JupyterLab plugin that offers the entire functionality
of Perspective within the Jupyter environment. It supports the same API
semantics of <perspective-viewer>
, along with the additional data types
supported by perspective.Table
. PerspectiveWidget
takes keyword arguments
for the managed View
:
from perspective.widget import PerspectiveWidget
w = perspective.PerspectiveWidget(
data,
plugin="X Bar",
aggregates={"datetime": "any"},
sort=[["date", "desc"]]
)
Creating a widget
A widget is created through the PerspectiveWidget
constructor, which takes as
its first, required parameter a perspective.Table
, a dataset, a schema, or
None
, which serves as a special value that tells the Widget to defer loading
any data until later. In maintaining consistency with the Javascript API,
Widgets cannot be created with empty dictionaries or lists — None
should be
used if the intention is to await data for loading later on. A widget can be
constructed from a dataset:
from perspective.widget import PerspectiveWidget
PerspectiveWidget(data, group_by=["date"])
.. or a schema:
PerspectiveWidget({"a": int, "b": str})
.. or an instance of a perspective.Table
:
table = perspective.table(data)
PerspectiveWidget(table)
Updating a widget
PerspectiveWidget
shares a similar API to the <perspective-viewer>
Custom
Element, and has similar save()
and restore()
methods that
serialize/deserialize UI state for the widget.