Problems with visualMap in chart widget

Hi,

I have a chart widget which plots the hourly Entso spot prices and a markLine for a price limit. The markLine indicates the price limit for switching on our ground source heat pump, i.e. when the electricity price is below this limit the heat pump is on and when the price is higher than the price limit then the pump is off.

The code for my widget is:

uid: Entso_testi
tags: []
props:
  parameters:
    - context: item
      description: Main toggle item (use for single toggle or as main switch for group)
      label: Item
      name: item
      required: false
    - context: text
      default: You forgot to set a card title
      description: Pretty card label
      label: Title
      name: title
      required: false
      type: TEXT
  parameterGroups: []
timestamp: Jan 7, 2024, 7:51:23 AM
component: f7-card
config:
  class:
    - padding-bottom
  title: =props.title
slots:
  default:
    - component: f7-row
      config:
        class:
          - margin-top
      slots:
        default:
          - component: f7-col
            config:
              width: 75
            slots:
              default:
                - component: oh-chart
                  config:
                    chartType: day
                    includeLabels: true
                    label: Kulutus
                  slots:
                    dataZoom:
                      - component: oh-chart-datazoom
                        config:
                          type: inside
                    grid:
                      - component: oh-chart-grid
                        config:
                          bottom: 60
                          containLabel: false
                          height: 50%
                          left: "40"
                          width: 70%
                    legend:
                      - component: oh-chart-legend
                        config:
                          bottom: 3
                          type: scroll
                    series:
                      - component: oh-aggregate-series
                        config:
                          aggregationFunction: last
                          barGap: 0%
                          barWidth: 70%
                          dimension1: hour
                          gridIndex: 0
                          id: 0
                          item: =props.item
                          label:
                            formatter: =v=>Number.parseFloat(v.data[1]).toFixed(1)
                            show: false
                          markLine:
                            data:
                              - lineStyle:
                                  color: red
                                  type: solid
                                yAxis:  =Number.parseFloat(items.Ouflex_AXL_Reg395.state)
                                
                          name: SPOT tuntihinnat
                          offsetAmount: -1
                          offsetUnit: hour
                          service: influxdb
                          stack: foo
                          type: bar
                          xAxisIndex: 0
                          yAxisIndex: 0
                    tooltip:
                      - component: oh-chart-tooltip
                        config:
                          action: analyzer
                          actionAnalyzerChartType: day
                          actionAnalyzerItems:
                            - props.item
                          aggregationFunction: last
                          presetFeatures:
                            - dataZoom
                          right: right
                          show: true
                          top: top
                    visualMap:
                      - component: oh-chart-visualmap
                        config:
                          pieces:
                            - color: green
                              min: 0
                              max: Number.parseFloat(items.Ouflex_AXL_Reg395.state)
                            - color: red
                              min: Number.parseFloat(items.Ouflex_AXL_Reg395.state)
                              max: 100
                          seriesIndex: 0
                          type: piecewise
                    xAxis:
                      - component: oh-category-axis
                        config:
                          categoryType: day
                          gridIndex: 0
                          monthFormat: default
                          name: Aika (h)
                          nameGap: 25
                          nameLocation: center
                          weekdayFormat: default
                    yAxis:
                      - component: oh-value-axis
                        config:
                          gridIndex: 0
                          name: Hinta (snt/kWh)
                          nameGap: 25
                          nameLocation: center

So, I have some difficulties with the visualMap part. Item Ouflex_AXL_Reg395 is the price limit.

visualMap:
                      - component: oh-chart-visualmap
                        config:
                          pieces:
                            - color: green
                              min: 0
                              max: Number.parseFloat(items.Ouflex_AXL_Reg395.state)
                            - color: red
                              min: Number.parseFloat(items.Ouflex_AXL_Reg395.state)
                              max: 100
                          seriesIndex: 0
                          type: piecewise

With this code I get an empty plot but if I use a constant value above for max and min (which are now Number.parseFloat(items.Ouflex_AXL_Reg395.state)), e.g. 15 then I get a plot:

Screenshot 2024-01-07 083949

The bars have correct colors as the price limit is 15.12.

I would like to use the numerical value of Item Ouflex_AXL_Reg395 as min and max in the visualMap so I am wondering what is the correct syntax. There was somewhat similar discussion in this thread. This thread was very useful for me because I managed to get the horizontal markLine working.

I have made some progress with my widget but it’s still not working properly. I modified the visualMAP part and the code for it is:

visualMap:
                      - component: oh-chart-visualmap
                        config:
                          pieces:
                            - color: green
                              min: 0
                              max: =Number.parseFloat(items.Ouflex_AXL_Reg395.state)
                            - color: red
                              min: =Number.parseFloat(items.Ouflex_AXL_Reg395.state)
                              max: 100
                          seriesIndex: 0
                          type: piecewise

I get a plot:

Screenshot 2024-01-07 141315

Note that the price limit is different from the that in the previous plot. The problem now is that if I refresh the page then I get an empty plot. Any ideas what is wrong here?

That’s strange.

When you refresh do you see any error in the browser console?

Yes, I see some errors but I don’t understand what they mean. I have made some more tests with my widget. I added line “show: false” so the visualMap code is:

visualMap:
                      - component: oh-chart-visualmap
                        config:
                          pieces:
                            - color: green
                              min: 0
                              max: =Number.parseFloat(items.Ouflex_AXL_Reg395.state)
                            - color: red
                              min: =Number.parseFloat(items.Ouflex_AXL_Reg395.state)
                              max: 100
                          seriesIndex: 0
                          show: false
                          type: piecewise

I made a test page with widgets with and without the “show: false” line. At first both plots are shown (see below):

When I refresh the page then the plot on the right hand side is empty. This widget is without the “show: false” line. The problem appears with all browsers (Firefox, Edge, Chrome).

I have no ideas why this happens.

Can you paste the errors here?

When I open up my test page the console has no errors. When I refresh the page then the Chrome console shows following errors:

app.e6719a8d0e1675221dee.js:7 TypeError: t.indexOf is not a function
    at b (5.app.e6719a8d0e1675221dee.js:31:46853)
    at e._createItemSymbol (38.app.e6719a8d0e1675221dee.js:1:83090)
    at e.<anonymous> (38.app.e6719a8d0e1675221dee.js:1:81615)
    at Array.forEach (<anonymous>)
    at Object.C (5.app.e6719a8d0e1675221dee.js:1:35249)
    at e.doRender (38.app.e6719a8d0e1675221dee.js:1:81434)
    at e.render (38.app.e6719a8d0e1675221dee.js:1:61245)
    at 5.app.e6719a8d0e1675221dee.js:31:181413
    at Array.forEach (<anonymous>)
    at C (5.app.e6719a8d0e1675221dee.js:1:35249)
Ge @ app.e6719a8d0e1675221dee.js:7
We @ app.e6719a8d0e1675221dee.js:7
qe @ app.e6719a8d0e1675221dee.js:7
Ue @ app.e6719a8d0e1675221dee.js:7
tn @ app.e6719a8d0e1675221dee.js:7
insert @ app.e6719a8d0e1675221dee.js:7
O @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn.run @ app.e6719a8d0e1675221dee.js:7
pn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
Ze @ app.e6719a8d0e1675221dee.js:7
Promise.then (async)
Ye @ app.e6719a8d0e1675221dee.js:7
at @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
fn.update @ app.e6719a8d0e1675221dee.js:7
e.$forceUpdate @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
Promise.then (async)
Nt.d @ app.e6719a8d0e1675221dee.js:7
Nt @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
Ft @ app.e6719a8d0e1675221dee.js:7
e._c @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:23
e._render @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
f @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
y @ app.e6719a8d0e1675221dee.js:7
Promise.then (async)
Ye @ app.e6719a8d0e1675221dee.js:7
at @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
fn.update @ app.e6719a8d0e1675221dee.js:7
pe.notify @ app.e6719a8d0e1675221dee.js:7
set @ app.e6719a8d0e1675221dee.js:7
setPages @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:12
(anonymous) @ app.e6719a8d0e1675221dee.js:18
(anonymous) @ app.e6719a8d0e1675221dee.js:18
u._withCommit @ app.e6719a8d0e1675221dee.js:18
u.commit @ app.e6719a8d0e1675221dee.js:18
commit @ app.e6719a8d0e1675221dee.js:12
(anonymous) @ app.e6719a8d0e1675221dee.js:35
Promise.then (async)
loadData @ app.e6719a8d0e1675221dee.js:35
(anonymous) @ app.e6719a8d0e1675221dee.js:35
Promise.catch (async)
(anonymous) @ app.e6719a8d0e1675221dee.js:35
o @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
value @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
mounted @ app.e6719a8d0e1675221dee.js:23
Ue @ app.e6719a8d0e1675221dee.js:7
tn @ app.e6719a8d0e1675221dee.js:7
insert @ app.e6719a8d0e1675221dee.js:7
O @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn.run @ app.e6719a8d0e1675221dee.js:7
pn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
Ze @ app.e6719a8d0e1675221dee.js:7
Promise.then (async)
Ye @ app.e6719a8d0e1675221dee.js:7
at @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
fn.update @ app.e6719a8d0e1675221dee.js:7
pe.notify @ app.e6719a8d0e1675221dee.js:7
set @ app.e6719a8d0e1675221dee.js:7
mn.set @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:35
Promise.then (async)
created @ app.e6719a8d0e1675221dee.js:35
Ue @ app.e6719a8d0e1675221dee.js:7
tn @ app.e6719a8d0e1675221dee.js:7
e._init @ app.e6719a8d0e1675221dee.js:7
r @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
init @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
d @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
e._update @ app.e6719a8d0e1675221dee.js:7
a @ app.e6719a8d0e1675221dee.js:7
fn.get @ app.e6719a8d0e1675221dee.js:7
fn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
On.$mount @ app.e6719a8d0e1675221dee.js:7
e._init @ app.e6719a8d0e1675221dee.js:7
On @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:40
i @ app.e6719a8d0e1675221dee.js:1
(anonymous) @ app.e6719a8d0e1675221dee.js:25
i @ app.e6719a8d0e1675221dee.js:1
(anonymous) @ app.e6719a8d0e1675221dee.js:1
(anonymous) @ app.e6719a8d0e1675221dee.js:1
app.e6719a8d0e1675221dee.js:7 TypeError: Cannot read properties of undefined (reading '__ec_inner_30')
    at 5.app.e6719a8d0e1675221dee.js:16:5703
    at 38.app.e6719a8d0e1675221dee.js:1:119917
    at e._clear (38.app.e6719a8d0e1675221dee.js:1:120084)
    at e.dispose (38.app.e6719a8d0e1675221dee.js:1:119810)
    at Wn (5.app.e6719a8d0e1675221dee.js:31:175863)
    at Vn (5.app.e6719a8d0e1675221dee.js:31:175113)
    at e.setOption (5.app.e6719a8d0e1675221dee.js:31:166746)
    at r.init (5.app.e6719a8d0e1675221dee.js:31:260838)
    at manualUpdate.__unwatchOptions.$watch.deep (5.app.e6719a8d0e1675221dee.js:31:261788)
    at fn.run (app.e6719a8d0e1675221dee.js:7:27659)
Ge @ app.e6719a8d0e1675221dee.js:7
We @ app.e6719a8d0e1675221dee.js:7
qe @ app.e6719a8d0e1675221dee.js:7
fn.run @ app.e6719a8d0e1675221dee.js:7
pn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
Ze @ app.e6719a8d0e1675221dee.js:7
Promise.then (async)
Ye @ app.e6719a8d0e1675221dee.js:7
at @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
fn.update @ app.e6719a8d0e1675221dee.js:7
pe.notify @ app.e6719a8d0e1675221dee.js:7
set @ app.e6719a8d0e1675221dee.js:7
je @ app.e6719a8d0e1675221dee.js:7
setItemState @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:12
(anonymous) @ app.e6719a8d0e1675221dee.js:18
(anonymous) @ app.e6719a8d0e1675221dee.js:18
u._withCommit @ app.e6719a8d0e1675221dee.js:18
u.commit @ app.e6719a8d0e1675221dee.js:18
commit @ app.e6719a8d0e1675221dee.js:12
(anonymous) @ app.e6719a8d0e1675221dee.js:7
i.onmessage @ app.e6719a8d0e1675221dee.js:35
app.e6719a8d0e1675221dee.js:7 TypeError: Cannot read properties of undefined (reading '__ec_inner_30')
    at 5.app.e6719a8d0e1675221dee.js:16:5703
    at 38.app.e6719a8d0e1675221dee.js:1:119917
    at e._clear (38.app.e6719a8d0e1675221dee.js:1:120084)
    at e.dispose (38.app.e6719a8d0e1675221dee.js:1:119810)
    at Wn (5.app.e6719a8d0e1675221dee.js:31:175863)
    at Vn (5.app.e6719a8d0e1675221dee.js:31:175113)
    at e.setOption (5.app.e6719a8d0e1675221dee.js:31:166746)
    at r.init (5.app.e6719a8d0e1675221dee.js:31:260838)
    at manualUpdate.__unwatchOptions.$watch.deep (5.app.e6719a8d0e1675221dee.js:31:261788)
    at fn.run (app.e6719a8d0e1675221dee.js:7:27659)
Ge @ app.e6719a8d0e1675221dee.js:7
We @ app.e6719a8d0e1675221dee.js:7
qe @ app.e6719a8d0e1675221dee.js:7
fn.run @ app.e6719a8d0e1675221dee.js:7
pn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
Ze @ app.e6719a8d0e1675221dee.js:7
Promise.then (async)
Ye @ app.e6719a8d0e1675221dee.js:7
at @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
fn.update @ app.e6719a8d0e1675221dee.js:7
pe.notify @ app.e6719a8d0e1675221dee.js:7
set @ app.e6719a8d0e1675221dee.js:7
mn.set @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:35
Promise.then (async)
i @ app.e6719a8d0e1675221dee.js:35
fn.run @ app.e6719a8d0e1675221dee.js:7
pn @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
Ze @ app.e6719a8d0e1675221dee.js:7
Promise.then (async)
Ye @ app.e6719a8d0e1675221dee.js:7
at @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:7
fn.update @ app.e6719a8d0e1675221dee.js:7
pe.notify @ app.e6719a8d0e1675221dee.js:7
set @ app.e6719a8d0e1675221dee.js:7
je @ app.e6719a8d0e1675221dee.js:7
setItemState @ app.e6719a8d0e1675221dee.js:7
(anonymous) @ app.e6719a8d0e1675221dee.js:12
(anonymous) @ app.e6719a8d0e1675221dee.js:18
(anonymous) @ app.e6719a8d0e1675221dee.js:18
u._withCommit @ app.e6719a8d0e1675221dee.js:18
u.commit @ app.e6719a8d0e1675221dee.js:18
commit @ app.e6719a8d0e1675221dee.js:12
(anonymous) @ app.e6719a8d0e1675221dee.js:7
i.onmessage @ app.e6719a8d0e1675221dee.js:35

I have no ideas what they mean. The errors are related to the widget on the right hand side above and the widget doesn’t have the line “show: false”.

I’d say this is definitely worth a bug report. The trouble is it’s still not 100% clear whether that should be in OH or eCharts.

What version of OH are you using?

@JustinG, many thanks for your help. Sorry that I didn’t mention in my first post that I’m running OH4.1.0. I don’t know whether this bug was already in previous OH versions or not because I have been using my widget with visualMap only under OH4.1.0. I’ll submit a bug report tomorrow. Should I include my widget in the bug report?

Best rule of thumb is always to include as much as you can. It is always easier for someone reviewing an issue to skip over information they don’t need than to have to continually ask for further clarification.

Include the widget, include the error code, include a link to this discussion, include all the information that the issue template asks for even if you don’t think it’s likely to be relevant (you never know).

@JustinG, bug report now submitted (# 2262). Many thanks for your help.