apexcharts.js: TypeError: Cannot read property 'ToString' of undefined when bar chart is rendering with data.

Codepen: https://codepen.io/jfalter/pen/rNedKOw

Whenever I attempt to render a bar chart with data, I get the following error message:

Uncaught (in promise) TypeError: Cannot read property 'toString' of undefined at Function.value (apexcharts:6 at t.value (apexcharts:6) at t.value (apexcharts:6) at t.value (apexcharts:14) at t.create (apexcharts:6) at apexcharts:14 at new Promise (<anonymous>) at t.value (apexcharts:14) at apexcharts:6 at Array.forEach (<anonymous>)

When I look at the Apexcharts Javascript file, I see this throwing an error:

key: “escapeString”, value: function(t) { var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : “x” , i = t.toString().slice(); //This is what’s throwing the error. return i = i.replace(/[` ~!@#$%^&*()_|+-=?;:'",.<>{}[]\/]/gi, e) }

Note that it works fine if I render with empty data and category arrays.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 4
  • Comments: 19 (2 by maintainers)

Most upvoted comments

In my case I’ve added field width and error is gone

    <Chart
      height={420}
      width={700}
      options={options}
      series={series}
      type="area"
    />

if someone still looking here, yo should also give height prop:

      <ApexChart
        options={options}
        series={series}
        type="pie"
        width={500}
        height={320} // after adding height, its working now
      />

In my case I’ve added field width and error is gone

    <Chart
      height={420}
      width={700}
      options={options}
      series={series}
      type="area"
    />

How to make it responsive with the fixed width?

I’ve managed to use it with width: "100%". It seems to both fix that TypeError: Cannot read property ‘ToString’ of undefined, and keep my graph responsive.

I have the same error! I thought that I was the only one.

Thanks for reporting. It’s a major bug and I had to immediately release a patch version as this might have broken many existing charts.

Please upgrade to v3.20.2

it’s truly is width is required! but not included in the docs

@Joginder462 your solution have worked for me! Thanks!

adding width will solve problem <ReactApexChart options={options} series={state.series} width={“100%”} height={300} type=“donut” />

Had this error when trying to add undefined value to label. Label has to be a string.

Upgraded to v3.20.2 Still showing ERROR Error: Uncaught (in promise): TypeError: Cannot read property ‘toString’ of undefined TypeError: Cannot read property ‘toString’ of undefined