Как нарисовать пирог с логарифмической шкалой на высоких диаграммах?


Мне нужно нарисовать пирог (или пончик, или половину пончика, я думаю, что это один и тот же процесс) в Highcharts. Проблема в том, что данные сильно искажены, то есть один срез имеет размер = 3, а второй-размер = 1000.

Конечным результатом является пирог с гигантским ломтиком и ломтиком почти невидимым.

моя карта

Есть ли способ вывести размер срезов логарифмическим способом (как для диаграмм оси)?

1 2

1 ответ:

Круговая диаграмма не использует ось, поэтому установка ее типа в логарифмический не будет работать. То, что вы можете сделать, - это преобразовать ваши данные и сохранить "реальное" значение, чтобы оно могло отображаться во всплывающей подсказке, метках данных и т. д.

    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
    }

Сравнение круговых диаграмм с преобразованными данными и с "чистыми" данными: http://jsfiddle.net/rz9899j8/