Как нарисовать пирог с логарифмической шкалой на высоких диаграммах?
Мне нужно нарисовать пирог (или пончик, или половину пончика, я думаю, что это один и тот же процесс) в Highcharts. Проблема в том, что данные сильно искажены, то есть один срез имеет размер = 3, а второй-размер = 1000.
Конечным результатом является пирог с гигантским ломтиком и ломтиком почти невидимым.
Есть ли способ вывести размер срезов логарифмическим способом (как для диаграмм оси)?
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/