Provides the details for a figure.

The Deephaven JS API supports automatic lossless downsampling of time-series data, when that data is plotted in one or more line series. Using a scatter plot or a X-axis of some type other than DateTime will prevent this feature from being applied to a series. To enable this feature, invoke Axis.range(...) to specify the length in pixels of the axis on the screen, and the range of values that are visible, and the server will use that width (and range, if any) to reduce the number of points sent to the client.

Downsampling can also be controlled when calling either Figure.subscribe() or Series.subscribe() - both can be given an optional dh.plot.DownsampleOptions argument. Presently only two valid values exist, DEFAULT, and DISABLE, and if no argument is specified, DEFAULT is assumed. If there are more than 30,000 rows in a table, downsampling will be encouraged - data will not load without calling subscribe(DISABLE) or enabling downsampling via Axis.range(...). If there are more than 200,000 rows, data will refuse to load without downsampling and subscribe(DISABLE) would have no effect.

Downsampled data looks like normal data, except that select items have been removed if they would be redundant in the UI given the current configuration. Individual rows are intact, so that a tooltip or some other UI item is sure to be accurate and consistent, and at least the highest and lowest value for each axis will be retained as well, to ensure that the "important" values are visible.

Four events exist to help with interacting with downsampled data, all fired from the Figure instance itself. First, downsampleneeded indicates that more than 30,000 rows would be fetched, and so specifying downsampling is no longer optional - it must either be enabled (calling axis.range(...)), or disabled. If the figure is configured for downsampling, when a change takes place that requires that the server perform some downsampling work, the downsamplestarted event will first be fired, which can be used to present a brief loading message, indicating to the user why data is not ready yet - when the server side process is complete, downsamplefinished will be fired. These events will repeat when the range changes, such as when zooming, panning, or resizing the figure. Finally, downsamplefailed indicates that something when wrong when downsampling, or possibly that downsampling cannot be disabled due to the number of rows in the table.

At this time, not marked as a ServerObject, due to internal implementation issues which leave the door open to client-created figures.

Hierarchy

  • Figure

Implements

Constructors

Properties

title?: string

The title of the figure.

Returns

String

EVENT_DISCONNECT: string

The data within this figure was updated. event.detail is FigureUpdateEventData

EVENT_DOWNSAMPLEFAILED: string

The data within this figure was updated. event.detail is FigureUpdateEventData

EVENT_DOWNSAMPLEFINISHED: string

The data within this figure was updated. event.detail is FigureUpdateEventData

EVENT_DOWNSAMPLENEEDED: string

The data within this figure was updated. event.detail is FigureUpdateEventData

EVENT_DOWNSAMPLESTARTED: string

The data within this figure was updated. event.detail is FigureUpdateEventData

EVENT_RECONNECT: string

The data within this figure was updated. event.detail is FigureUpdateEventData

EVENT_RECONNECTFAILED: string

The data within this figure was updated. event.detail is FigureUpdateEventData

EVENT_SERIES_ADDED: string

The data within this figure was updated. event.detail is FigureUpdateEventData

EVENT_UPDATED: string

The data within this figure was updated. event.detail is FigureUpdateEventData

Accessors

  • get charts(): Chart[]
  • The charts to draw.

    Returns Chart[]

    dh.plot.Chart

  • get cols(): number
  • Returns number

  • get errors(): string[]
  • Returns string[]

  • get rows(): number
  • Returns number

  • get titleColor(): string
  • Returns string

  • get titleFont(): string
  • Returns string

  • get updateInterval(): number
  • Returns number

Methods

  • Listen for events on this object.

    Type Parameters

    • T

      the type of the data that the event will provide

    Parameters

    • name: string

      the name of the event to listen for

    • callback: ((e) => void)

      a function to call when the event occurs

        • (e): void
        • Parameters

          Returns void

    Returns (() => void)

    Returns a cleanup function.

      • (): void
      • Listen for events on this object.

        Returns void

        Returns a cleanup function.

  • Close the figure, and clean up subscriptions.

    Returns void

  • Type Parameters

    • T

    Parameters

    • eventName: string
    • Optional timeoutInMillis: number

    Returns Promise<Event<T>>

  • Removes an event listener added to this table.

    Type Parameters

    • T

    Parameters

    • name: string
    • callback: ((e) => void)
        • (e): void
        • Parameters

          Returns void

    Returns boolean

  • Parameters

    Returns void

  • Disable updates for all series in this figure.

    Returns void