Highcharts调整y轴以设置" 100%"作为自定义值的总和

时间:2017-09-18 10:02:21

标签: javascript highcharts

我知道标题听起来很混乱,但找不到这个问题的句子并不容易,所以我会尝试进一步解释。

我试图显示给定平台每天创建了多少个测试用例的历史记录。 y值代表当前测试用例的数量,而#34;预期"是每个系列为达到目标所需的测试用例数量。

我可以以某种方式让y轴显示预期值吗?所以,如果我只想看看IOS系列,那么它应该知道,当y和预期相同时它应该填充100%而不是12%的情节。同样适用于创建2个测试用例而期望值为6的情况,那么它应该填满33%而不是2%。

http://jsfiddle.net/dWDE6/1201/



var chart = new Highcharts.Chart({
  chart: {
    renderTo: 'container'
  },

  tooltip: {
    shared: true,
    pointFormat: '{series.name}: <b>{point.y} / {point.expected}</b><br/>',
  },
  xAxis: {
    type: 'datetime'
  },
  yAxis: {
    allowDecimals: false,
    title: {
      text: 'Test cases'
    },
    labels: {
      formatter: function() {
        return this.value + "%";
      }
    },
    min: 0,
    max: 100
  },
  series: [{
    name: 'IOS',
    data: [{
      x: Date.UTC(2017, 09, 15),
      y: 2,
      expected: 6
    }, {
      x: Date.UTC(2017, 09, 16),
      y: 3,
      expected: 6
    }, {
      x: Date.UTC(2017, 09, 17),
      y: 6,
      expected: 6
    }]
  }, {
    name: 'Android',
    data: [{
      x: Date.UTC(2017, 09, 15),
      y: 2,
      expected: 12
    }, {
      x: Date.UTC(2017, 09, 16),
      y: 3,
      expected: 12
    }, {
      x: Date.UTC(2017, 09, 17),
      y: 12,
      expected: 12
    }]
  }, {
    name: 'Windows',
    data: [{
      x: Date.UTC(2017, 09, 15),
      y: 6,
      expected: 12
    }, {
      x: Date.UTC(2017, 09, 16),
      y: 8,
      expected: 12
    }, {
      x: Date.UTC(2017, 09, 17),
      y: 14,
      expected: 12
    }]
  }]
});
&#13;
<script src="https://code.highcharts.com/highcharts.js"></script>
<div id="container" style="height: 400px"></div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

这是实现目标的一种方法。

http://jsfiddle.net/ewolden/dWDE6/1202/

我将你的点样式改为:

actual: 2,
expected: 6,
y: 2/6*100

以下是pointFormat:

pointFormat: '{series.name}: <b>{point.actual} / {point.expected}</b><br/>'