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

rva*_*oni 4 javascript charts logarithm highcharts pie-chart

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

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

我的图表

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

mor*_*ree 5

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

    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
    }
Run Code Online (Sandbox Code Playgroud)

比较饼图与转换后的数据和“纯”数据:http://jsfiddle.net/rz9899j8/