An Ignition module that adds Chart.js powered charting components for Ignition Perspective.
Motivation
Why do we need another Perspective charting module?
Smoothly plotting real time data in Perspective is currently hard. Included in this latest snapshot build is a Realtime Chart component, intended for high speed charting.
This example shows 6 charts updating every 100ms and rendering at 60fps.
This is a teaser build, do not go building anything production related around these components yet.
Current feedback I'd like from the community:
What update rates should I use as a performance benchmark? (10 charts at 250ms, 100 charts at 1s, etc.)? What rates/timescales are you trying to achieve in the real world?
If there were performance gains possible by tightly coupling the component to tags/tag history, would you be interested? Or would you prefer a component that was data-source agnostic?
I like it a lot with pushing real-time data. Very useful.
It is also nice, we have the option to push the dataset and see real-time charts like Apexchart:
100ms is the rough boundary for human perception. If you smoothly update at that pace, it will look continuous to most people.
I've had applications that displayed hours worth of a dozen pens sampled at 100ms. If you can do that in Perspective, I'll be both shocked and pleased.
hello, thanks @bmusson, where can find docs about the component properties? I copy the properties from your video and it works. but I´d like to customize other properties. I looking to the git page but I can't find anything related.
Just released another snapshot build 0.2.0-SNAPSHOT.
This release is a result of narrowing the feature set to just the basic Chartjs component, no fancy real-time or tag-history stuff yet. I'd like to get this to a stable 1.0.0 sometime this month.
New things since the last update:
Improved component property schema. There are some conditional/complex things I can't get to map correctly, but most of it is there.
Corrected default properties. Dragging a new chart to the view results in a chart with no errors.
Chart properties have CSS custom property support.
Chart properties have JavaScript function support.
Added designer icons.
Chart is now grouped with the other built-in charting components.
You don't need both pointRadius: 0 and pointStyle: false, either one alone will work to hide the points.
My recommendation is to use pointRadius: 0 because it is animatable (i.e. changing from pointRadius: 0 to pointRadius: 5 can happen smoothly) and gives you more options with the hoverRadius property.