Just for fun - bar chart (if for dedicated usage) is so simple stuff so you can easily create your own.
[
{
"id": "1763d9f4b9f4e8dd",
"type": "ui_chart",
"z": "98fb9802851faeed",
"name": "",
"group": "20ae1040.3cf58",
"order": 7,
"width": 0,
"height": 0,
"label": "chart",
"chartType": "horizontalBar",
"legend": "false",
"xformat": "HH:mm:ss",
"interpolate": "linear",
"nodata": "",
"dot": false,
"ymin": "0",
"ymax": "40",
"removeOlder": 1,
"removeOlderPoints": "",
"removeOlderUnit": "3600",
"cutout": 0,
"useOneColor": false,
"useUTC": false,
"colors": [
"#1f77b4",
"#aec7e8",
"#ff7f0e",
"#2ca02c",
"#98df8a",
"#d62728",
"#ff9896",
"#9467bd",
"#c5b0d5"
],
"outputs": 1,
"useDifferentColor": false,
"className": "",
"x": 580,
"y": 1220,
"wires": [
[]
]
},
{
"id": "d6ae1627865b4045",
"type": "inject",
"z": "98fb9802851faeed",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": ".5",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 160,
"y": 1260,
"wires": [
[
"41e865cd6b3afc23"
]
]
},
{
"id": "41e865cd6b3afc23",
"type": "function",
"z": "98fb9802851faeed",
"name": "random data between 0-40 ",
"func": "let labels = ['Mo','Tu','We', 'Th','Fr','Sa','Su']\nlet index = context.get('index') || 0\nindex++\nif(index > 6){\n index = 0\n}\ncontext.set('index',index)\n\n\nmsg.topic = labels[index]\nmsg.payload = parseFloat((Math.random()*40).toFixed(2))\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 370,
"y": 1260,
"wires": [
[
"1763d9f4b9f4e8dd",
"818be358773aa28b"
]
]
},
{
"id": "818be358773aa28b",
"type": "ui_template",
"z": "98fb9802851faeed",
"group": "20ae1040.3cf58",
"name": "chart without any charting library",
"order": 8,
"width": "6",
"height": "3",
"format": "<div class=\"chart-wrapper\">\n <div class=\"chart-row\">\n <div class=\"row-label\">MO</div>\n <div class=\"row-bar-container\">\n <div class=\"row-bar\" id=\"MO\"></div>\n </div>\n </div>\n <div class=\"chart-row\">\n <div class=\"row-label\">TU</div>\n <div class=\"row-bar-container\">\n <div class=\"row-bar\" id=\"TU\"></div>\n </div>\n </div>\n <div class=\"chart-row\">\n <div class=\"row-label\">WE</div>\n <div class=\"row-bar-container\">\n <div class=\"row-bar\" id=\"WE\"></div>\n </div>\n </div>\n <div class=\"chart-row\">\n <div class=\"row-label\">TH</div>\n <div class=\"row-bar-container\">\n <div class=\"row-bar\" id=\"TH\"></div>\n </div>\n </div>\n <div class=\"chart-row\">\n <div class=\"row-label\">FR</div>\n <div class=\"row-bar-container\">\n <div class=\"row-bar\" id=\"FR\"></div>\n </div>\n </div>\n <div class=\"chart-row\">\n <div class=\"row-label\">SA</div>\n <div class=\"row-bar-container\">\n <div class=\"row-bar\" id=\"SA\"></div>\n </div>\n </div>\n <div class=\"chart-row\">\n <div class=\"row-label\">SU</div>\n <div class=\"row-bar-container\">\n <div class=\"row-bar\" id=\"SU\"></div>\n </div>\n </div>\n <div class=\"chart-axis\">\n <span>0</span><span>10</span><span>20</span><span>30</span><span>40</span>\n </div>\n</div>\n<style>\n .chart-wrapper{\n position: relative;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n\n }\n .chart-row{\n position:relative;\n display: flex;\n flex-direction: row;\n width:100%;\n }\n .row-label{\n width:40px;\n font-size:12px;\n text-align:center;\n }\n .row-bar-container{\n position:relative;\n background-color:#00000020;\n width:100%;\n }\n .row-bar{\n position:relative;\n background-color:red;\n width:100%;\n height:100%;\n }\n .chart-axis{\n display: flex;\n flex-direction: row;\n padding-left: 30px;\n justify-content: space-between;\n }\n .chart-axis span{\n font-size:small;\n }\n</style>\n\n<script>\n (function(scope) {\n scope.$watch('msg', function(msg) {\n if (msg) {\n // Do something when msg arrives\n if(msg.topic){\n let t = msg.topic.toUpperCase()\n let v = (msg.payload * 100 / 40)+'%';\n let col = msg.payload > 30 ? 'red' : 'orange';\n $(\".row-bar[id=\"+t+\"]\").css({\"width\":v,\"background-color\":col})\n }\n \n }\n });\n})(scope);",
"storeOutMessages": true,
"fwdInMessages": true,
"resendOnRefresh": true,
"templateScope": "local",
"className": "",
"x": 650,
"y": 1280,
"wires": [
[]
]
},
{
"id": "20ae1040.3cf58",
"type": "ui_group",
"name": "Slider",
"tab": "6b520bda.e997a4",
"order": 1,
"disp": true,
"width": "6",
"collapse": false,
"className": ""
},
{
"id": "6b520bda.e997a4",
"type": "ui_tab",
"name": "Testing",
"icon": "dashboard",
"order": 1,
"disabled": false,
"hidden": false
}
]