如何在HighCharts中绘制具有对数刻度的饼图?

时间:2016-10-21 09:18:32

标签: javascript charts highcharts pie-chart logarithm

我需要在Highcharts画一个馅饼(或甜甜圈,或半甜甜圈,我认为这是相同的过程)。 问题是数据严重偏差,即一个切片的大小= 3,第二个切片的大小= 1000。

最终结果是一个馅饼,一个巨大的切片和几乎看不见的切片。

my chart

有没有办法以对数方式打印切片的大小(如轴图表)?

1 个答案:

答案 0 :(得分:2)

饼图不使用轴,因此将其类型设置为logarithmic将不起作用。您可以做的是转换您的数据并保留"真实的"值因此可以显示在工具提示,数据标签等中

    var data = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512],
        logData = data.map(function (value) {
        return {
            y: Math.log(value) / Math.LN10, 
            realY: value // store a pure value
          };
      });


    // later in chart options
    tooltip: {
     pointFormat: 'x = {point.x}, y = {point.realY}' // access the pure value in a tooltip
    }

比较饼图与转换后的数据以及" pure"数据:http://jsfiddle.net/rz9899j8/