JSFiddle - React, Tailwind, and code Playground

by NunoMira

HTML

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/echarts.min.js"></script>

<div id="main"></div>

CSS

#main {
  height: 400px;
  width: 100%;
}

JavaScript

function prepareDataFunction(rawData) {
  let data = [];
  for (let i = 0; i < rawData.data.length; i++) {
    let record = rawData.data[i];
    if (record.r0 == undefined || record.v0 == undefined) continue; //taking only facts for this sample
    let _record = {
      member: record.r0,
      value: !isNaN(record.v0) ? record.v0 : 0
    };
    data.push(_record);
  }
  return data;
}

function drawChart(rawData) {
  // based on prepared DOM, initialize echarts instance
  let myChart = echarts.init(document.getElementById('main'));
  let data = prepareDataFunction(rawData);
  // specify chart configuration item and data
  let option = {
    tooltip: {},
    xAxis: {
      data: data.map(function(d) {
        return d.member;
      })
    },
    yAxis: {},
    series: [{
      name: 'Category',
      type: 'bar',
      data: data.map(function(d) {
        return d.value;
      })
    }]
  };
  // use configuration item and data specified to show chart
  myChart.setOption(option);
}


function updateChart(rawData) {
  drawChart(rawData);
}


function createChart() {
  pivot.getData({},
    drawChart,
    updateChart
  );
}