如何使用Highchart项目符号图绘制单线图?

时间:2018-07-05 15:27:48

标签: javascript html highcharts

我最近切换到了highchart,我正尝试通过highchart项目符号图实现这样的图形

enter image description here

但是无法像这样自定义,有人可以定义我做错了什么吗?还是可以像这样自定义项目符号图,或者我应该移至另一张图,请找到下面的代码。

Highcharts.setOptions({
  chart: {
    inverted: true,
    marginLeft: 135,
    type: 'bullet'
  },
  title: {
    text: null
  },
  legend: {
    enabled: false
  },
  yAxis: {
    gridLineWidth: 0
  },
  plotOptions: {
    series: {
      borderWidth: 0,
      borderRadius: '10%',
      color: '#819bc2',
      targetOptions: {
        width: '10%'
      }
    }
  },
  credits: {
    enabled: false
  },
  exporting: {
    enabled: false
  }
});

Highcharts.chart('container1', {
  chart: {
    marginTop: 40
  },
  yAxis: {
    plotBands: [{
      from: 0,
      to: 150,
      borderRadius: '10%',
      color: '#819bc2'

    }, {
      from: 150,
      to: 225,
      borderRadius: '10%',
      color: '#375e9a'
    }, {
      from: 225,
      to: 9e9,
      borderRadius: '10%',
      color: '#ccd8e9'
    }],
    title: null
  },
  series: [{
    data: [{
      y: 150,
      target: 250
    }]
  }],
  tooltip: {
    pointFormat: '<b>{point.y}</b> (with target at {point.target})'
  }
});
#container1 {
  max-width: 1000px;
  height: 90px;
  margin: 1em auto;
  border-radius: 20%;
}

.hc-cat-title {
  font-size: 13px;
  font-weight: bold;
}
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/bullet.js"></script>
<div id="container1"></div>

1 个答案:

答案 0 :(得分:0)

-可以。实际上,图表上的列是四舍五入的-当您将鼠标悬停时,您可以观察到。

您应该删除情节带并改为再添加两个系列:

  series: [{
    data: [{
      y: 360,
      target: 300
    }]
  }, {
    data: [{
      y: 280,
      target: 250,
      color: '#c0ffee'
    }]
  }, {
    data: [{
      y: 150,
      target: 250,
      color: '#bada55'
    }]
  }],

grouping必须禁用才能使序列重叠。

实时演示: https://jsfiddle.net/BlackLabel/p2zwf6e8/

API参考: https://api.highcharts.com/highcharts/