javascript - 如何在 Highcharts 中使用数组?

标签 javascript highcharts

我的代码中有两个数组,我想使用 Highcharts 在饼图上绘制一些数据。一个数组包含该数据的标签,另一个数组包含该数据。这是我尝试过的:

arr1 = [10, 39, 30]
arr2 = ['one', 'two', 'three']


Highcharts.chart('container-2', {
  chart: {
    margin: [0, 0, 0, 0],
    spacingTop: 0,
    spacingBottom: 0,
    spacingLeft: 0,
    spacingRight: 0,
    plotBackgroundColor: null,
    plotBorderWidth: null,
    plotShadow: false,
    type: 'pie'
  },
  title: {
    text: 'Example'
  },
  tooltip: {
    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
  },
  plotOptions: {
    pie: {
      size: '50%',
      allowPointSelect: true,
      cursor: 'pointer',
      dataLabels: {
        enabled: true,
        format: '<b>{point.name}</b>: {point.percentage:.1f} %'
      }
    }
  },
  series: [{
    name: 'Balances',
    colorByPoint: true,
    data: {
        y: arr1,
        name: arr2,
    }
  }]
});

不幸的是,这会生成一个没有任何数据的图表。有人可以帮我找出我做错了什么吗?

最佳答案

使用yname格式化对象数组中标签和数据数组中的数据 作为属性。

const arr1 = [10, 39, 30];
const arr2 = ["one", "two", "three"];

const pieData = arr1.map((cur, index) => {
  return { name: arr2[index], y: cur };
});

console.info("PIEDATA::", pieData);

然后将此格式化数据传递给系列数据:

//notice data should be an array of objects for those pie plotting values
    series: [{
        name: 'Balances',
        colorByPoint: true,
        data:pieData
      }]

关于javascript - 如何在 Highcharts 中使用数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58365047/

相关文章:

javascript - 如何使用 JavaScript 从文件对话框中捕获文件选择?

javascript - 使用谷歌搜索 url

javascript - 我可以在不弹出的情况下更改create-react-app中公共(public)文件夹的名称吗?

jquery - 带有 if else 条件的 Javascript 工具提示

javascript - 在 JS HighCharts 中放大后获取系列中的最大值和标签

javascript - WinJS:保存重要信息的最佳方法

javascript - 获取 filebrowserUploadUrl 来更新 url

javascript - 气泡图:Cannot read property 'parts/Globals.js' of undefined

jquery - Highcharts 工具提示

javascript - 具有 Angular 和 ionic 框架错误的 Highcharts