From c070925ab36ebc380c5ed7615eaed3bbb17942d4 Mon Sep 17 00:00:00 2001 From: Gayan Sandamal Date: Mon, 14 Oct 2024 12:57:18 +0530 Subject: [PATCH 1/4] Added chart interpolation method --- .../flows/dashboard-chart-interpolation.json | 644 ++++++++++++++++++ .../tests/widgets/chart-interpolation.spec.js | 61 ++ nodes/widgets/locales/en-US/ui_chart.json | 8 +- nodes/widgets/ui_chart.html | 19 +- nodes/widgets/ui_chart.js | 4 + ui/src/widgets/ui-chart/UIChart.vue | 58 ++ 6 files changed, 792 insertions(+), 2 deletions(-) create mode 100644 cypress/fixtures/flows/dashboard-chart-interpolation.json create mode 100644 cypress/tests/widgets/chart-interpolation.spec.js diff --git a/cypress/fixtures/flows/dashboard-chart-interpolation.json b/cypress/fixtures/flows/dashboard-chart-interpolation.json new file mode 100644 index 00000000..8dc41f28 --- /dev/null +++ b/cypress/fixtures/flows/dashboard-chart-interpolation.json @@ -0,0 +1,644 @@ +[ + { + "id": "dashboard-ui-button-clear", + "type": "ui-button", + "z": "80a7b66be7ea4735", + "group": "26e75ef62526c813", + "name": "", + "label": "Clear value", + "order": 1, + "width": "0", + "height": "0", + "emulateClick": false, + "tooltip": "", + "color": "", + "bgcolor": "", + "className": "", + "icon": "", + "iconPosition": "left", + "payload": "[]", + "payloadType": "json", + "topic": "topic", + "topicType": "msg", + "buttonColor": "", + "textColor": "", + "iconColor": "", + "enableClick": true, + "enablePointerdown": false, + "pointerdownPayload": "", + "pointerdownPayloadType": "str", + "enablePointerup": false, + "pointerupPayload": "", + "pointerupPayloadType": "str", + "x": 750, + "y": 880, + "wires": [ + [ + "626010075fd8c4fd" + ] + ] + }, + { + "id": "626010075fd8c4fd", + "type": "junction", + "z": "80a7b66be7ea4735", + "x": 920, + "y": 940, + "wires": [ + [ + "dashboard-ui-chart-linear", + "dashboard-ui-chart-step", + "dashboard-ui-chart-bezier", + "dashboard-ui-chart-cubic", + "dashboard-ui-chart-mono" + ] + ] + }, + { + "id": "dashboard-ui-button-4", + "type": "ui-button", + "z": "80a7b66be7ea4735", + "group": "26e75ef62526c813", + "name": "", + "label": "Set value to 4", + "order": 2, + "width": "3", + "height": "1", + "emulateClick": false, + "tooltip": "", + "color": "", + "bgcolor": "", + "className": "", + "icon": "", + "iconPosition": "left", + "payload": "4", + "payloadType": "num", + "topic": "topic", + "topicType": "msg", + "buttonColor": "", + "textColor": "", + "iconColor": "", + "enableClick": true, + "enablePointerdown": false, + "pointerdownPayload": "", + "pointerdownPayloadType": "str", + "enablePointerup": false, + "pointerupPayload": "", + "pointerupPayloadType": "str", + "x": 760, + "y": 920, + "wires": [ + [ + "626010075fd8c4fd" + ] + ] + }, + { + "id": "dashboard-ui-button-8", + "type": "ui-button", + "z": "80a7b66be7ea4735", + "group": "26e75ef62526c813", + "name": "", + "label": "Set value to 8", + "order": 3, + "width": "3", + "height": "1", + "emulateClick": false, + "tooltip": "", + "color": "", + "bgcolor": "", + "className": "", + "icon": "", + "iconPosition": "left", + "payload": "8", + "payloadType": "num", + "topic": "topic", + "topicType": "msg", + "buttonColor": "", + "textColor": "", + "iconColor": "", + "enableClick": true, + "enablePointerdown": false, + "pointerdownPayload": "", + "pointerdownPayloadType": "str", + "enablePointerup": false, + "pointerupPayload": "", + "pointerupPayloadType": "str", + "x": 760, + "y": 960, + "wires": [ + [ + "626010075fd8c4fd" + ] + ] + }, + { + "id": "dashboard-ui-button-3", + "type": "ui-button", + "z": "80a7b66be7ea4735", + "group": "26e75ef62526c813", + "name": "", + "label": "Set value to 3", + "order": 5, + "width": "3", + "height": "1", + "emulateClick": false, + "tooltip": "", + "color": "", + "bgcolor": "", + "className": "", + "icon": "", + "iconPosition": "left", + "payload": "3", + "payloadType": "num", + "topic": "topic", + "topicType": "msg", + "buttonColor": "", + "textColor": "", + "iconColor": "", + "enableClick": true, + "enablePointerdown": false, + "pointerdownPayload": "", + "pointerdownPayloadType": "str", + "enablePointerup": false, + "pointerupPayload": "", + "pointerupPayloadType": "str", + "x": 760, + "y": 1000, + "wires": [ + [ + "626010075fd8c4fd" + ] + ] + }, + { + "id": "dashboard-ui-button-1", + "type": "ui-button", + "z": "80a7b66be7ea4735", + "group": "26e75ef62526c813", + "name": "", + "label": "Set value to 1", + "order": 4, + "width": "3", + "height": "1", + "emulateClick": false, + "tooltip": "", + "color": "", + "bgcolor": "", + "className": "", + "icon": "", + "iconPosition": "left", + "payload": "1", + "payloadType": "num", + "topic": "topic", + "topicType": "msg", + "buttonColor": "", + "textColor": "", + "iconColor": "", + "enableClick": true, + "enablePointerdown": false, + "pointerdownPayload": "", + "pointerdownPayloadType": "str", + "enablePointerup": false, + "pointerupPayload": "", + "pointerupPayloadType": "str", + "x": 760, + "y": 1040, + "wires": [ + [ + "626010075fd8c4fd" + ] + ] + }, + { + "id": "dashboard-ui-chart-linear", + "type": "ui-chart", + "z": "80a7b66be7ea4735", + "group": "6743a8ab0fefb4e8", + "name": "", + "label": "Chart Interpolation - Linear", + "order": 1, + "chartType": "line", + "category": "Slider", + "categoryType": "str", + "xAxisLabel": "", + "xAxisProperty": "", + "xAxisPropertyType": "property", + "xAxisType": "time", + "xAxisFormat": "", + "xAxisFormatType": "auto", + "xmin": "", + "xmax": "", + "yAxisLabel": "", + "yAxisProperty": "", + "yAxisPropertyType": "property", + "ymin": "", + "ymax": "", + "bins": "", + "action": "append", + "stackSeries": false, + "pointShape": "circle", + "pointRadius": 4, + "showLegend": true, + "removeOlder": 1, + "removeOlderUnit": "3600", + "removeOlderPoints": "", + "colors": [ + "#1f77b4", + "#aec7e8", + "#ff7f0e", + "#2ca02c", + "#98df8a", + "#d62728", + "#ff9896", + "#9467bd", + "#c5b0d5" + ], + "textColor": [ + "#666666" + ], + "textColorDefault": true, + "gridColor": [ + "#e5e5e5" + ], + "gridColorDefault": true, + "width": 6, + "height": 8, + "className": "", + "interpolation": "linear", + "x": 1100, + "y": 880, + "wires": [ + [] + ] + }, + { + "id": "dashboard-ui-chart-step", + "type": "ui-chart", + "z": "80a7b66be7ea4735", + "group": "323ec5c4520fd815", + "name": "", + "label": "Chart Interpolation - Step", + "order": 1, + "chartType": "line", + "category": "Slider", + "categoryType": "str", + "xAxisLabel": "", + "xAxisProperty": "", + "xAxisPropertyType": "property", + "xAxisType": "time", + "xAxisFormat": "", + "xAxisFormatType": "auto", + "xmin": "", + "xmax": "", + "yAxisLabel": "", + "yAxisProperty": "", + "yAxisPropertyType": "property", + "ymin": "", + "ymax": "", + "bins": "", + "action": "append", + "stackSeries": false, + "pointShape": "circle", + "pointRadius": 4, + "showLegend": true, + "removeOlder": 1, + "removeOlderUnit": "3600", + "removeOlderPoints": "", + "colors": [ + "#1f77b4", + "#aec7e8", + "#ff7f0e", + "#2ca02c", + "#98df8a", + "#d62728", + "#ff9896", + "#9467bd", + "#c5b0d5" + ], + "textColor": [ + "#666666" + ], + "textColorDefault": true, + "gridColor": [ + "#e5e5e5" + ], + "gridColorDefault": true, + "width": 6, + "height": 8, + "className": "", + "interpolation": "step", + "x": 1090, + "y": 920, + "wires": [ + [] + ] + }, + { + "id": "dashboard-ui-chart-bezier", + "type": "ui-chart", + "z": "80a7b66be7ea4735", + "group": "0ec571dabc9e1d7c", + "name": "", + "label": "Chart Interpolation - Bezier", + "order": 1, + "chartType": "line", + "category": "Slider", + "categoryType": "str", + "xAxisLabel": "", + "xAxisProperty": "", + "xAxisPropertyType": "property", + "xAxisType": "time", + "xAxisFormat": "", + "xAxisFormatType": "auto", + "xmin": "", + "xmax": "", + "yAxisLabel": "", + "yAxisProperty": "", + "yAxisPropertyType": "property", + "ymin": "", + "ymax": "", + "bins": "", + "action": "append", + "stackSeries": false, + "pointShape": "circle", + "pointRadius": 4, + "showLegend": true, + "removeOlder": 1, + "removeOlderUnit": "3600", + "removeOlderPoints": "", + "colors": [ + "#1f77b4", + "#aec7e8", + "#ff7f0e", + "#2ca02c", + "#98df8a", + "#d62728", + "#ff9896", + "#9467bd", + "#c5b0d5" + ], + "textColor": [ + "#666666" + ], + "textColorDefault": true, + "gridColor": [ + "#e5e5e5" + ], + "gridColorDefault": true, + "width": 6, + "height": 8, + "className": "", + "interpolation": "bezier", + "x": 1100, + "y": 960, + "wires": [ + [] + ] + }, + { + "id": "dashboard-ui-chart-cubic", + "type": "ui-chart", + "z": "80a7b66be7ea4735", + "group": "ab846a4ff1f7c2ee", + "name": "", + "label": "Chart Interpolation - Cubic", + "order": 1, + "chartType": "line", + "category": "Slider", + "categoryType": "str", + "xAxisLabel": "", + "xAxisProperty": "", + "xAxisPropertyType": "property", + "xAxisType": "time", + "xAxisFormat": "", + "xAxisFormatType": "auto", + "xmin": "", + "xmax": "", + "yAxisLabel": "", + "yAxisProperty": "", + "yAxisPropertyType": "property", + "ymin": "", + "ymax": "", + "bins": "", + "action": "append", + "stackSeries": false, + "pointShape": "circle", + "pointRadius": 4, + "showLegend": true, + "removeOlder": 1, + "removeOlderUnit": "3600", + "removeOlderPoints": "", + "colors": [ + "#1f77b4", + "#aec7e8", + "#ff7f0e", + "#2ca02c", + "#98df8a", + "#d62728", + "#ff9896", + "#9467bd", + "#c5b0d5" + ], + "textColor": [ + "#666666" + ], + "textColorDefault": true, + "gridColor": [ + "#e5e5e5" + ], + "gridColorDefault": true, + "width": 6, + "height": 8, + "className": "", + "interpolation": "cubic", + "x": 1100, + "y": 1000, + "wires": [ + [] + ] + }, + { + "id": "dashboard-ui-chart-mono", + "type": "ui-chart", + "z": "80a7b66be7ea4735", + "group": "971c20f43e70fa71", + "name": "", + "label": "Chart Interpolation - Cubic Mono", + "order": 1, + "chartType": "line", + "category": "Slider", + "categoryType": "str", + "xAxisLabel": "", + "xAxisProperty": "", + "xAxisPropertyType": "property", + "xAxisType": "time", + "xAxisFormat": "", + "xAxisFormatType": "auto", + "xmin": "", + "xmax": "", + "yAxisLabel": "", + "yAxisProperty": "", + "yAxisPropertyType": "property", + "ymin": "", + "ymax": "", + "bins": "", + "action": "append", + "stackSeries": false, + "pointShape": "circle", + "pointRadius": 4, + "showLegend": true, + "removeOlder": 1, + "removeOlderUnit": "3600", + "removeOlderPoints": "", + "colors": [ + "#1f77b4", + "#aec7e8", + "#ff7f0e", + "#2ca02c", + "#98df8a", + "#d62728", + "#ff9896", + "#9467bd", + "#c5b0d5" + ], + "textColor": [ + "#666666" + ], + "textColorDefault": true, + "gridColor": [ + "#e5e5e5" + ], + "gridColorDefault": true, + "width": 6, + "height": 8, + "className": "", + "interpolation": "cubicMono", + "x": 1120, + "y": 1040, + "wires": [ + [] + ] + }, + { + "id": "26e75ef62526c813", + "type": "ui-group", + "name": "Chart Interpolation - Controllers", + "page": "dashboard-ui-page-1", + "width": "6", + "height": "1", + "order": 1, + "showTitle": true, + "className": "", + "visible": "true", + "disabled": "false", + "groupType": "default" + }, + { + "id": "6743a8ab0fefb4e8", + "type": "ui-group", + "name": "Chart Interpolation - Linear", + "page": "dashboard-ui-page-1", + "width": "6", + "height": "1", + "order": 2, + "showTitle": true, + "className": "", + "visible": "true", + "disabled": "false", + "groupType": "default" + }, + { + "id": "323ec5c4520fd815", + "type": "ui-group", + "name": "Chart Interpolation - Step", + "page": "dashboard-ui-page-1", + "width": "6", + "height": "1", + "order": 3, + "showTitle": true, + "className": "", + "visible": "true", + "disabled": "false", + "groupType": "default" + }, + { + "id": "0ec571dabc9e1d7c", + "type": "ui-group", + "name": "Chart Interpolation - Bezier", + "page": "dashboard-ui-page-1", + "width": "6", + "height": "1", + "order": 4, + "showTitle": true, + "className": "", + "visible": "true", + "disabled": "false", + "groupType": "default" + }, + { + "id": "ab846a4ff1f7c2ee", + "type": "ui-group", + "name": "Chart Interpolation - Cubic", + "page": "dashboard-ui-page-1", + "width": "6", + "height": "1", + "order": 5, + "showTitle": true, + "className": "", + "visible": "true", + "disabled": "false", + "groupType": "default" + }, + { + "id": "971c20f43e70fa71", + "type": "ui-group", + "name": "Chart Interpolation - Mono", + "page": "dashboard-ui-page-1", + "width": "6", + "height": "1", + "order": 6, + "showTitle": true, + "className": "", + "visible": "true", + "disabled": "false", + "groupType": "default" + }, + { + "id": "dashboard-ui-page-1", + "type": "ui-page", + "name": "Page 1", + "ui": "dashboard-ui-base", + "path": "/page1", + "icon": "", + "layout": "grid", + "theme": "dashboard-ui-theme", + "order": -1, + "className": "", + "visible": "true", + "disabled": false + }, + { + "id": "dashboard-ui-base", + "type": "ui-base", + "name": "UI Name", + "path": "/dashboard", + "includeClientData": true, + "acceptsClientConfig": [ + "ui-notification", + "ui-control" + ] + }, + { + "id": "dashboard-ui-theme", + "type": "ui-theme", + "name": "Theme Name", + "colors": { + "surface": "#ffffff", + "primary": "#0094ce", + "bgPage": "#eeeeee", + "groupBg": "#ffffff", + "groupOutline": "#cccccc" + } + } +] \ No newline at end of file diff --git a/cypress/tests/widgets/chart-interpolation.spec.js b/cypress/tests/widgets/chart-interpolation.spec.js new file mode 100644 index 00000000..f23fa52f --- /dev/null +++ b/cypress/tests/widgets/chart-interpolation.spec.js @@ -0,0 +1,61 @@ +/// +import should from 'should' + +/* eslint-disable cypress/no-unnecessary-waiting */ +describe('Node-RED Dashboard 2.0 - Chart - Type: Interpolation', () => { + beforeEach(() => { + cy.deployFixture('dashboard-chart-interpolation') + cy.visit('/dashboard/page1') + }) + + it('renders charts with correct data', () => { + cy.get('#nrdb-ui-widget-dashboard-ui-chart-linear > div > canvas').should('exist') + cy.get('#nrdb-ui-widget-dashboard-ui-chart-step > div > canvas').should('exist') + cy.get('#nrdb-ui-widget-dashboard-ui-chart-bezier > div > canvas').should('exist') + cy.get('#nrdb-ui-widget-dashboard-ui-chart-cubic > div > canvas').should('exist') + cy.get('#nrdb-ui-widget-dashboard-ui-chart-mono > div > canvas').should('exist') + + // Add data points 4, 8, 3 and 1 + cy.clickAndWait(cy.get('#nrdb-ui-widget-dashboard-ui-button-clear')) + cy.clickAndWait(cy.get('#nrdb-ui-widget-dashboard-ui-button-4')) + cy.clickAndWait(cy.get('#nrdb-ui-widget-dashboard-ui-button-8')) + cy.clickAndWait(cy.get('#nrdb-ui-widget-dashboard-ui-button-3')) + cy.clickAndWait(cy.get('#nrdb-ui-widget-dashboard-ui-button-1')) + + // eslint-disable-next-line promise/catch-or-return, promise/always-return + cy.window().then(win => { + should(win.uiCharts).is.not.empty() + const linear = win.uiCharts['dashboard-ui-chart-linear'] + const step = win.uiCharts['dashboard-ui-chart-step'] + const bezier = win.uiCharts['dashboard-ui-chart-bezier'] + const cubic = win.uiCharts['dashboard-ui-chart-cubic'] + const mono = win.uiCharts['dashboard-ui-chart-mono'] + + // Check Data for Interpolation + should(linear.chart.config.data).be.an.Object() + should(linear.chart.config.data.datasets).be.an.Array() + + // // Check data point values + should(linear.chart.config.data.datasets[0].data).be.an.Array().and.have.length(4) + should(step.chart.config.data.datasets[0].data).be.an.Array().and.have.length(4) + should(bezier.chart.config.data.datasets[0].data).be.an.Array().and.have.length(4) + should(cubic.chart.config.data.datasets[0].data).be.an.Array().and.have.length(4) + should(mono.chart.config.data.datasets[0].data).be.an.Array().and.have.length(4) + + // Check interpolation config for linear + should(linear.chart.config.data.datasets[0].tension).be.equal(0) + + // Check interpolation config for step + should(step.chart.config.data.datasets[0].stepped).be.equal(true) + + // Check interpolation config for bezier + should(bezier.chart.config.data.datasets[0].tension).be.equal(0.4) + + // Check interpolation config for cubic + should(cubic.chart.config.data.datasets[0].cubicInterpolationMode).be.equal('default') + + // Check interpolation config for mono + should(mono.chart.config.data.datasets[0].cubicInterpolationMode).be.equal('monotone') + }) + }) +}) diff --git a/nodes/widgets/locales/en-US/ui_chart.json b/nodes/widgets/locales/en-US/ui_chart.json index 9818669b..0d622c35 100644 --- a/nodes/widgets/locales/en-US/ui_chart.json +++ b/nodes/widgets/locales/en-US/ui_chart.json @@ -74,7 +74,13 @@ "setGridColorDefault": "Use ChartJs Default Grid Colors" , "stackSeries": "Group By", "stackSeriesTrue": "Stacks", - "stackSeriesFalse": "Side-by-Side" + "stackSeriesFalse": "Side-by-Side", + "interpolation": "Interpolation", + "linearInterpolation": "linear", + "stepInterpolation": "step", + "bezierInterpolation": "bezier", + "cubicInterpolation": "cubic", + "cubicMonoInterpolation": "cubic-mono" }, "notifications": { "clearSuccess": "Chart data cleared successfully", diff --git a/nodes/widgets/ui_chart.html b/nodes/widgets/ui_chart.html index 8512ded0..3d3aad26 100644 --- a/nodes/widgets/ui_chart.html +++ b/nodes/widgets/ui_chart.html @@ -140,7 +140,8 @@ } }, height: { value: 8 }, - className: { value: '' } + className: { value: '' }, + interpolation: { value: 'linear' } }, inputs: 1, outputs: 1, @@ -428,6 +429,12 @@ if (this.gridColorDefault || this.gridColorDefault === undefined) { $('#node-chart-grid-color').hide() } + + if (this.interpolation) { + $('#node-input-interpolation').val(this.interpolation) + } else { + $('#node-input-interpolation').val('linear') + } }, oneditsave: function () { // Stack By - convert from string values to bool @@ -626,6 +633,16 @@

Axis Configuration

+
+ + +

Styling/Colors

diff --git a/nodes/widgets/ui_chart.js b/nodes/widgets/ui_chart.js index 3083fc09..1b426421 100644 --- a/nodes/widgets/ui_chart.js +++ b/nodes/widgets/ui_chart.js @@ -52,6 +52,10 @@ module.exports = function (RED) { config.xAxisProperty = config.xAxisProperty || '' config.yAxisProperty = config.yAxisProperty || '' + if (!config.interporlation || typeof config.interporlation === 'undefined') { + config.interporlation = 'linear' + } + const evts = { // beforeSend will run before messages are sent client-side, as well as before sending on within Node-RED // here, we use it to pre-process chart data to format it ready for plotting diff --git a/ui/src/widgets/ui-chart/UIChart.vue b/ui/src/widgets/ui-chart/UIChart.vue index f1cb7ff4..ea036582 100644 --- a/ui/src/widgets/ui-chart/UIChart.vue +++ b/ui/src/widgets/ui-chart/UIChart.vue @@ -49,6 +49,9 @@ export default { radialChart () { // radial charts have no placeholder in ChartJS - we need to add one return this.props.xAxisType === 'radial' + }, + interpolation () { + return this.props.interpolation } }, watch: { @@ -72,6 +75,10 @@ export default { 'props.xAxisFormatType': function (value) { this.chart.options.scales.x.time.displayFormats = this.getXDisplayFormats(value) this.update(false) + }, + interpolation (value) { + this.setInterpolation(value) + this.update(false) } }, created () { @@ -507,6 +514,9 @@ export default { } } } + if (this.chartType === 'line') { + this.setInterpolation(this.interpolation) + } }, limitDataSize () { let cutoff = null @@ -643,6 +653,54 @@ export default { } else { this.chart.data.datasets[sIndex] = series } + }, + setInterpolation (interpolationType) { + const getInterpolation = (type) => { + switch (type) { + case 'cubic': { + return { + cubicInterpolationMode: 'default', + tension: undefined, + stepped: undefined + } + } + case 'cubicMono': { + return { + cubicInterpolationMode: 'monotone', + tension: undefined, + stepped: undefined + } + } + case 'linear': { + return { + tension: 0, + cubicInterpolationMode: undefined, + stepped: undefined + } + } + case 'bezier': { + return { + tension: 0.4, + cubicInterpolationMode: undefined, + stepped: undefined + } + } + case 'step': { + return { + cubicInterpolationMode: undefined, + tension: undefined, + stepped: true + } + } + } + } + const interpolation = getInterpolation(interpolationType) + this.chart.data.datasets = this.chart.data.datasets.map((d) => { + return { + ...d, + ...interpolation + } + }) } } } From 6973c96c44dc793d27ee288e6e9b6c1a54696e5b Mon Sep 17 00:00:00 2001 From: Gayan Sandamal Date: Mon, 14 Oct 2024 14:08:22 +0530 Subject: [PATCH 2/4] Docs for interpolation and NR Edit config adjustments --- docs/nodes/widgets/ui-chart.md | 14 ++++++++++ .../ui-chart-line-interpolation-bezier.png | Bin 0 -> 121570 bytes .../ui-chart-line-interpolation-stepped.png | Bin 0 -> 113284 bytes nodes/widgets/locales/en-US/ui_chart.html | 8 ++++++ nodes/widgets/ui_chart.html | 26 +++++++++++------- 5 files changed, 38 insertions(+), 10 deletions(-) create mode 100644 docs/public/images/node-examples/ui-chart-line-interpolation-bezier.png create mode 100644 docs/public/images/node-examples/ui-chart-line-interpolation-stepped.png diff --git a/docs/nodes/widgets/ui-chart.md b/docs/nodes/widgets/ui-chart.md index 5b920fc7..98cc2e81 100644 --- a/docs/nodes/widgets/ui-chart.md +++ b/docs/nodes/widgets/ui-chart.md @@ -136,6 +136,20 @@ Then, the last piece of the puzzle would be to set the `y` property would be one - If your data is a simple numerical value, you can leave this blank, and the chart will automatically use the value of `msg.payload`. - If your data is an object, you can provide the key of the value in your data, e.g. `{"myTime": 1234567890, "myValue": 123}` would set the "Y" property to the type `key` and the value `myValue`. +#### Interpolation Methods for Line Charts + +Interpolation defines how the line is drawn between data points on a line chart. In Dashboard, you can choose between several interpolation methods to suit your data visualization needs: +- Linear: Draws a straight line between each data point. Best for continuous datasets with smooth transitions. +- Step: Creates a stepped line between points, where the value jumps abruptly to the next point. This method is ideal for visualizing data that changes in discrete steps, such as states or thresholds. +- Bezier: Produces a smooth curve with slight tension between points, creating a more aesthetically pleasing line. Useful for datasets where a smooth transition is important. +- Cubic: Draws a cubic curve for even more smoothing between data points, providing a rounded visual representation. +- Cubic-Mono: Similar to cubic, but with an additional constraint that ensures the curve maintains a monotonic behavior. This means it avoids overshooting between points, making it more stable. + +![Example Line Chart with stepped interpolation](/images/node-examples/ui-chart-line-interpolation-stepped.png "Example Line Chart with stepped interpolation"){data-zoomable} +_Example Line Chart with stepped interpolation_ + +![Example Line Chart with bezier interpolation](/images/node-examples/ui-chart-line-interpolation-bezier.png "Example Line Chart with bezier interpolation"){data-zoomable} +_Example Line Chart with bezier interpolation_ #### Multiple Lines diff --git a/docs/public/images/node-examples/ui-chart-line-interpolation-bezier.png b/docs/public/images/node-examples/ui-chart-line-interpolation-bezier.png new file mode 100644 index 0000000000000000000000000000000000000000..8b65e8404760d1b1f326474441797459e2b4e4f2 GIT binary patch literal 121570 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 GyZt}K@F(g3 literal 0 HcmV?d00001 diff --git a/docs/public/images/node-examples/ui-chart-line-interpolation-stepped.png b/docs/public/images/node-examples/ui-chart-line-interpolation-stepped.png new file mode 100644 index 0000000000000000000000000000000000000000..965cc9ff255d37cf7804486074b4db81a09446d4 GIT binary patch literal 113284 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 nx!J6JProperties

Label string
Text shown above the rendered chart in the Dashboard.
Type Line | Bar | Scatter | Pie | Doughnut | Histogram
+
Interpolation Linear | Step | Bezier | Cubic | Cubic Mono
+
    +
  • linear : Creates straight lines between data points, producing a standard linear chart.
  • +
  • step : Creates step-like transitions between points, useful for representing changes that occur in stages.
  • +
  • bezier : Draws a smooth, curved line with subtle tension, providing a flowing transition between points.
  • +
  • cubic : Draw curved cubic line chart with a tension.
  • +
  • cubic-mono : Similar to cubic, but ensures monotonic behavior.
  • +
Choose the type of graph that you wish to render data with. Note that different data structures are accepted for different chart types.
Show Legend boolean
diff --git a/nodes/widgets/ui_chart.html b/nodes/widgets/ui_chart.html index 3d3aad26..1cdeea74 100644 --- a/nodes/widgets/ui_chart.html +++ b/nodes/widgets/ui_chart.html @@ -314,6 +314,9 @@ $('#node-input-chartType').on('change', (evt) => { const value = $(evt.target).val() + const interpolationWrapper = $('#interpolation-wrapper') + interpolationWrapper.hide() + if (value === 'line' || value === 'scatter') { // for line and scatter // types - time, linear @@ -323,6 +326,9 @@ // show x-axis limit options & points sizing $('#x-axis-show').show() $('#point-radius-show').show() + if (value === 'line') { + interpolationWrapper.show() + } } else if (value === 'pie' || value === 'doughnut') { // for pie/doughnut // types - radial @@ -524,6 +530,16 @@

Chart Configuration

+
+ + +
@@ -633,16 +649,6 @@

Axis Configuration

-
- - -

Styling/Colors

From 78754ea99fd41e9f2537d1152275c6817f447d74 Mon Sep 17 00:00:00 2001 From: Gayan Sandamal Date: Mon, 14 Oct 2024 14:58:02 +0530 Subject: [PATCH 3/4] Updated interpolation config as per new chart.js version --- .../tests/widgets/chart-interpolation.spec.js | 4 +++- ui/src/widgets/ui-chart/UIChart.vue | 18 ++++++------------ 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/cypress/tests/widgets/chart-interpolation.spec.js b/cypress/tests/widgets/chart-interpolation.spec.js index f23fa52f..6ba2c7f5 100644 --- a/cypress/tests/widgets/chart-interpolation.spec.js +++ b/cypress/tests/widgets/chart-interpolation.spec.js @@ -53,9 +53,11 @@ describe('Node-RED Dashboard 2.0 - Chart - Type: Interpolation', () => { // Check interpolation config for cubic should(cubic.chart.config.data.datasets[0].cubicInterpolationMode).be.equal('default') + should(cubic.chart.config.data.datasets[0].tension).be.equal(0.4) - // Check interpolation config for mono + // Check interpolation config for monotone should(mono.chart.config.data.datasets[0].cubicInterpolationMode).be.equal('monotone') + should(mono.chart.config.data.datasets[0].tension).be.equal(0.4) }) }) }) diff --git a/ui/src/widgets/ui-chart/UIChart.vue b/ui/src/widgets/ui-chart/UIChart.vue index ea036582..bdf8b11d 100644 --- a/ui/src/widgets/ui-chart/UIChart.vue +++ b/ui/src/widgets/ui-chart/UIChart.vue @@ -655,40 +655,34 @@ export default { } }, setInterpolation (interpolationType) { + // Updated chart configs for interpolation as per the new chart.js version + // https://www.chartjs.org/docs/latest/samples/line/interpolation.html const getInterpolation = (type) => { switch (type) { case 'cubic': { return { cubicInterpolationMode: 'default', - tension: undefined, - stepped: undefined + tension: 0.4 } } case 'cubicMono': { return { cubicInterpolationMode: 'monotone', - tension: undefined, - stepped: undefined + tension: 0.4 } } case 'linear': { return { - tension: 0, - cubicInterpolationMode: undefined, - stepped: undefined + tension: 0 } } case 'bezier': { return { - tension: 0.4, - cubicInterpolationMode: undefined, - stepped: undefined + tension: 0.4 } } case 'step': { return { - cubicInterpolationMode: undefined, - tension: undefined, stepped: true } } From be91b6b2955fcc3c2ac09f0d97c75b1aec2a40b8 Mon Sep 17 00:00:00 2001 From: Joe Pavitt Date: Tue, 15 Oct 2024 16:44:25 +0100 Subject: [PATCH 4/4] Capitalize the option labels for consistency with other config options --- nodes/widgets/locales/en-US/ui_chart.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nodes/widgets/locales/en-US/ui_chart.json b/nodes/widgets/locales/en-US/ui_chart.json index 0d622c35..c54190c6 100644 --- a/nodes/widgets/locales/en-US/ui_chart.json +++ b/nodes/widgets/locales/en-US/ui_chart.json @@ -76,11 +76,11 @@ "stackSeriesTrue": "Stacks", "stackSeriesFalse": "Side-by-Side", "interpolation": "Interpolation", - "linearInterpolation": "linear", - "stepInterpolation": "step", - "bezierInterpolation": "bezier", - "cubicInterpolation": "cubic", - "cubicMonoInterpolation": "cubic-mono" + "linearInterpolation": "Linear", + "stepInterpolation": "Step", + "bezierInterpolation": "Bezier", + "cubicInterpolation": "Cubic", + "cubicMonoInterpolation": "Cubic-Mono" }, "notifications": { "clearSuccess": "Chart data cleared successfully",