高图 - 如何在半圆饼图中创建附加的图像标尺

时间:2016-08-02 14:17:48

标签: highcharts gauge donut-chart

带有三角规的半圆饼

Semi Circle Pie With Triangle Gauge

如何使用图表顶部的三角形标尺创建上面的半圆饼图。

我有车速表测量仪工作,但它不能满足需要。

在highchart api中是否有一种方法可以使用三角形作为测量仪,而不是速度计?

由于

1 个答案:

答案 0 :(得分:-1)

这是调整JSON的小提琴。

https://jsfiddle.net/mschreiberjdi/nwb7vL62/

$(function() {
  $('#container').highcharts({
    chart: {
      renderTo: 'container',
      plotBackgroundColor: null,
      plotBackgroundImage: null,
      plotBorderWidth: 0,
      plotShadow: false
    },
    title: {
      text: '40%<br>Probability Of <br>Success',
      align: 'center',
      verticalAlign: 'bottom',
      y: -145
    },
    tooltip: {
      pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
    },
    pane: {
      center: ['50%', '75%'],
      size: '50%',
      startAngle: -90,
      endAngle: 90,
      background: {
        borderWidth: 0,
        backgroundColor: 'none',
        innerRadius: '60%',
        outerRadius: '100%',
        shape: 'arc'
      }
    },
    yAxis: [{
      lineWidth: 0,
      min: 0,
      max: 90,
      minorTickLength: 0,
      tickLength: 0,
      tickWidth: 0,
      labels: {
        enabled: false
      },
      title: {
        text: '', //'<div class="gaugeFooter">46% Rate</div>',
        useHTML: true,
        y: 80
      },
      /*plotBands: [{
        from: 0,
        to: 46,
        color: 'pink',
        innerRadius: '100%',
        outerRadius: '0%'
      },{
        from: 46,
        to: 90,
        color: 'tan',
        innerRadius: '100%',
        outerRadius: '0%'
      }],*/
      pane: 0,

    }],
    plotOptions: {
      pie: {
        dataLabels: {
          enabled: true,
          distance: -50,
          style: {
            fontWeight: 'bold',
            color: 'white',
            textShadow: '0px 1px 2px black'
          }
        },
        startAngle: -90,
        endAngle: 90,
        center: ['50%', '75%']
      },
      gauge: {
        dataLabels: {
          enabled: false
        },
        pivot: {
          radius: 80,
          borderWidth: 2,
          borderColor: 'transparent',
          backgroundColor: 'white'
        },
        dial: {
          radius: '100%',
          backgroundColor: 'gray',
          borderColor: 'gray',
          baseWidth: 140,
          topWidth: 1,
          baseLength: '10%', // of radius
          rearLength: '10%'
        }
      }
    },

    series: [{
      type: 'pie',
      name: 'Browser share',
      innerSize: '50%',
      data: [
        ['Low', 25],
        ['Medium', 25],
        ['HIgh', 25]
      ]
    }, {
      type: 'gauge',
      data: [40],
      dial: {
        rearLength: 0
      }
    }],
  });
});