javascript - 如何将数据放入一列

标签 javascript jquery highcharts

我正在使用 Highcharts.js 插件,一切都很好,但我想显示的是例如以下数据:

1, 5, 10, 20

这里的问题是,它的每个值都显示在一列中,而我想要的是在一列中显示所有值,所以我的问题是我该怎么做才能像我想要的那样显示我的图表?这是我当前的代码:

$(document).ready(function() {
  $('#xd').click(function() {
    draw();
  });
});

function draw() {
  var myArray = [];
  myArray = [1, 5, 10, 11, 8];

  $('#grafic').highcharts({
    chart: {
      type: 'column'
    },
    title: {
      text: 'Sampled Parts'
    },
    xAxis: {
      categories: ['Data'],
      labels: {
        rotation: -33,
      }
    },
    yAxis: {
      allowDecimals: true,
      min: 0,
      title: {
        text: 'Resultados'
      }
    },
    tooltip: {
      formatter: function() {
        return '<b>' + this.x + '</b><br/>' +
          this.series.name + ': ' + this.y + '<br/>' +
          'Total: ' + this.point.stackTotal;
      }
    },

    legend: {
      reversed: true
    },
    plotOptions: {
      column: {
        stacking: 'normal'
      }
    },
    series: [{
      name: 'My Data',
      data: myArray
    }]
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>






<div id="grafic">
</div>

<button id="xd">Click</button>

如果你看到我的代码,我有 5 列,我想要的是将所有值都放在一列中,但说实话,我不知道我能做什么。

Codepen code

最佳答案

如果您想堆叠这些值,那么您需要创建多个系列(我猜每个系列中只有一个值)。从此更改:

var myArray = [];
myArray = [1, 5, 10, 11, 8];

对此:

series: [{
      name: 'mydata',
      data: [1]
    }, {
      name: 'mydata2',
      data: [5]
    }, {
      name: 'mydata3',
      data: [10]
    }, {
      name: 'mydata4',
      data: [11]
    }, {
      name: 'mydata5',
      data: [8]
    }]

请参阅下面的运行示例:

$(document).ready(function() {
  $('#xd').click(function() {
    draw();
  });
});

function draw() {
  $('#grafic').highcharts({
    chart: {
      type: 'column'
    },
    title: {
      text: 'Sampled Parts'
    },
    xAxis: {
      categories: ['Data'],
      labels: {
        rotation: -33,
      }
    },
    yAxis: {
      allowDecimals: true,
      min: 0,
      title: {
        text: 'Resultados'
      }
    },
    tooltip: {
      formatter: function() {
        return '<b>' + this.x + '</b><br/>' +
          this.series.name + ': ' + this.y + '<br/>' +
          'Total: ' + this.point.stackTotal;
      }
    },

    legend: {
      reversed: true
    },
    plotOptions: {
      column: {
        stacking: 'normal'
      }
    },
    //  var myArray = [];
    //  myArray = [1, 5, 10, 11, 8];

    series: [{
      name: 'mydata',
      data: [1]
    }, {
      name: 'mydata2',
      data: [5]
    }, {
      name: 'mydata3',
      data: [10]
    }, {
      name: 'mydata4',
      data: [11]
    }, {
      name: 'mydata5',
      data: [8]
    }]
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>

<div id="grafic">
</div>

<button id="xd">Click</button>

关于javascript - 如何将数据放入一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40368098/

相关文章:

javascript - 如果复选框为 true 并且未在 Angular 8 中添加日期,如何抛出错误

javascript - 如何判断两个 JavaScript 实例是否属于同一类类型?

jquery - 如何在 Internet Explorer 8 中正确对齐横幅

jquery - 在提交之前从 ajax 加载的表单中获取值

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

javascript - 将 fluentlenium 与动态生成的内容一起使用时出现问题

javascript - 鼠标悬停在 React 中

javascript - 第一个 .click() 事件完成后执行第二个 .click() 事件

javascript - HighChart 生成不带图表的表格

javascript - 如何在 HighChart 中用多个 yAxis 填充两个系列之间的区域?