Я хочу разместить текстовый элемент (или два) под легендой, выровненный с правой стороны, но я не могу получить согласованные координаты.Определить, когда Legend готова
Предупреждение: Я являюсь родственником noob в SVG.
У меня есть серия наборов данных, для которых я хочу показать графики. Когда я перехожу от одного к другому, я добавляю новые сериалы и удаляю старые. После каждого обновления я пытаюсь поместить строку, содержащую средний набор данных, ниже легенды. Проблема, с которой я сталкиваюсь, заключается в том, что все остальные времени, когда я запрашиваю атрибуты x & y, строка заканчивается за пределами диаграммы. В другой половине времени я получаю прекрасный результат.
код, я использую, чтобы поместить эту строку в:
var tbl=table[3];
$('.usData').remove();
//get legend x & y
startX = chart.legend.group.translateX;
endX = startX + chart.legend.legendWidth;
startY = chart.legend.group.translateY;
endY = startY + chart.legend.legendHeight;
$(tbl.usAvg).each(function(i){
chart.renderer.text("National Avg: " + formatData(this,tbl.format), endX, endY+(i*15)+15).attr({'text-anchor':'end',zIndex:12, class:'usData'}).add();
То, что я думаю, что происходит в том, что легенда начинается за пределами участка и переводится в это положение. Поэтому я не могу надежно «захватить» точные координаты, пока не будет сделан рендеринг.
Итак, мой вопрос: Есть ли способ определить (событие), когда легенда закончена, или мне просто нужно включить тайм-аут и подождать?
Да, но тогда добавленный div в экспортированном изображении/pdf отсутствует. Это часть конечной цели. – astangelo
Не отображается в экспортированном изображении, так как это динамический контент, но при экспорте графика он создается снова. Вы можете попробовать добавить этот инструмент в событие загрузки: http://api.highcharts.com/highcharts#chart.events.load –