Pie3d chart

Integration with FusionCharts

by Flexmonster Pivot Table

HTML

<script src="https://cdn.flexmonster.com/flexmonster.js"></script>
<script src="https://cdn.flexmonster.com/lib/flexmonster.fusioncharts.js"></script>

<script src="https://cdn.fusioncharts.com/fusioncharts/3.19.0/fusioncharts.js"></script>
<script src="https://cdn.fusioncharts.com/fusioncharts/3.19.0/themes/fusioncharts.theme.fusion.js"></script>

<div id="pivot-container"></div>

<div id="fusionchart-container"></div>

CSS

@import url(https://cdn.flexmonster.com/assets/jsfiddle-styles.css);

JavaScript

const pivot = new Flexmonster({
  container: "#pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  licenseFilePath: "https://cdn.flexmonster.com/jsfiddle.charts.key",
  toolbar: true,
  height: 400,
  report: {
    dataSource: {
      filename: "data/data.csv",
    },
    slice: {
      rows: [
        {
          uniqueName: "Country",
        },
      ],
      columns: [
        {
          uniqueName: "Business Type",
        },
        {
          uniqueName: "[Measures]",
        },
      ],
      measures: [
        {
          uniqueName: "Price",
        },
      ],
    },
  },
  reportcomplete: function () {
    pivot.off("reportcomplete");
    createFusionChart();
  },
});

function createFusionChart() {
  let chart = new FusionCharts({
    type: "pie3d",
    renderAt: "fusionchart-container",
    width: "100%",
    height: 500,
  });
  pivot.fusioncharts.getData(
    {
      type: chart.chartType(),
    },
    function (chartConfig) {
      chart.setJSONData(withDefaults(chartConfig));
      chart.render();
    },
    function (chartConfig) {
      chart.setJSONData(withDefaults(chartConfig));
    },
  );
}

const withDefaults = (config) => {
  const chartPart = {
    theme: "fusion",
    showlegend: "1",
  };

  return {
    ...config,
    chart: { ...(config.chart || {}), ...chartPart },
  };
};