Skip to main content

Chart 2D

Features are subject to change based on customer demand and development cycles.

Developer Resources

  • Interactions - Due to the complexity of the ability to create custom event handlers for interactions Streamline is working on a set of basic examples to share with the community on the Ignition Exchange.
  • Helper Functions - Again, due to the freedom of the module configuration, Streamline would like to supply scripting functions to aid with the dynamic creation of pens and axes through scripting.

Advanced Interactions

Axis Markers

  • Axis Markers - Ability to add and drag axis markers along any axis. This can effectively be used to expose a users interaction with the chart via props.

Line Multi Stroke

-
  • Ability to bind a high and low value to a pen and provide different colors for that pen should it be above or below a setpoint. This interaction could leverage the bound property of an axis marker or simply a setpoint tag.

Range Brush

  • Add prop to indicate the selected range.
  • Add prop to configure the appearance of the selected range.

Data

  • Array - Support for Array datatype in the dataset prop in addition to the ignition dataset type.
  • Append Mode - Add additional data modes to append or replace the dataset on every update to reduce the traffic over the Ignition websocket where required.

Axis

  • Logarithmic - Support for different logarithmic bases.

New Chart Types

As the module is continually developed, the team will be adding new and improved chart types. A few of such charts are listed below:

  • Band
  • Stacked Column

The following chart types will only be implemented should there be a large enough demand.

  • Candle Stick
  • Heatmap
  • Bubble
  • Donut
  • Pie
  • 3D Charts - see the Chart 3D development roadmap page.

Plots

Currently, the 2D chart is limited to a single plot surface. Ideally we would like to be able to have multiple plots on a single surface with the ability to link and connect changes on one surface to another.

Theming

Since the library itself is not completely CSS compatible as it uses a canvas for it's rendering base, all theming is calculated at runtime to allow for the continued use of CSS variables. With this being said, there are a few nuanced features which we would like to support in the future such as the currentcolor color value where currentcolor is calculated based on the parent div color style property. The team also intends to add support for the use of CSS variables with non-color properties such as font-family or font-size as currently compatibility is limited.

Style

The team is continuing to improve the use of ignition's style property but as of now the feature has minimal control over the overall style of the component. We would like to add direct support for the fontFamily style property to reduce the verbosity of the configuration of axis fonts.