Я пытаюсь сделать действительно конкретный график с HighChart, надеюсь, я буду ясно. Я приведу пример, у меня есть голоса для каждой страны, как это:Highcharts | Custom plotOptions-> series-> dataLabels
France 2 да/1 Нет
Англия 1 да/0 Нет
Я должен показать в plotOptions-> series-> dataLabels:
Франция да : 2 голосов/66% Потому что мы не имеем 3 голоса в общей сложности для Франции
Франция № 1 голосов/33%
Англия да: 1 голосов/100%, потому что у нас есть 1 голос в общей сложности в Англии
Англия нет: 0 голосов/0%
В Php/Symfony 3/Javascript я сделал что-то вроде этого:
$ob->plotOptions->series(
array(
'dataLabels' => array(
'enabled' => true,
'formatter' => new Expr('function() {
return this.y + "<br/>(" + Math.round(((this.y/'.$numberOfResultsByCountry.') * 100) * 100)/100 + " %)"
}')
)
)
);
Он работает, но Расчитать неправильно, $ numberOfResultsByCountry изменения в зависимости от моей страны, для Франции значение 3, для Англии, значение 1.
Как я могу обычай dataLabels для каждого результата? Я проверил doc (http://api.highcharts.com/highcharts#plotOptions.series.dataLabels) и кажется, что plotOptions-> series-> dataLabels не принимает массив здесь. Поэтому я понятия не имею, как это сделать.
Надеюсь, я поняла, что объяснила свою проблему.
TY
Я думаю, что вы можете добавить общее количество голосов, как «значение ', а затем найдите этот параметр, используя this.point.value. Посмотрите на этот пример: http://jsfiddle.net/m28ob7r7/ –
Ничего себе, спасибо, что я не знал, что могу использовать такие значения this.point, как total. Спасибо, это именно то, что мне нужно. Можете ли вы создать правильный ответ, чтобы я мог принять ваш ответ? – Aximem
С удовольствием прочитал, что моя идея сработала для вас. Я отправил его в качестве ответа. –