2013-06-04 4 views
2

Я создаю круговую диаграмму, где метки для точек данных могут очень сильно развиваться, легенда настроена на вертикальную ориентацию и расположена слева. Я добавил элемент ярлыка в нижней части диаграммы, который показывает общее количество всех точек данных.HighCharts: Позиционная метка на диаграмме агностик размера легенды

Проблема, с которой я сталкиваюсь, заключается в том, что позиционирование этой метки (через элемент стиля) основано на том, насколько широка легенда, которая иногда, если легенда достаточно широкая, будет сдвигаться с правой стороны диаграммы.

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

Вот стиль применяется к ярлыку (я пытался добавить значение позиции, но это не по всей видимости, сделать что-нибудь):

style: { 
        top: '325px', 
        position: 'absolute', 
        left: '-160px', 
        'font-size': '175%' 
       } 

Вот пример диаграммы, я работаю с , вы можете видеть, что значение для общей суммы отключено.

Example chart

EDIT: Согласно комментарию Себастьяна я был в состоянии эффективно решить эту проблему с помощью легенды метки форматировщика ограничить длину имен серии. Вот код:

labelFormatter: function() { 
    var formattedName = this.name; 
    if (formattedName.length > 17) { 
     formattedName = formattedName.substr(0, 14) + '...'; 
    } 
    return formattedName; 
} 

ответ

1

Вы пробовали использовать labelFormatter http://api.highcharts.com/highcharts#legend.labelFormatter?

+0

Фактически только сегодня я использовал форматировщик, чтобы обрезать имена легенд, чтобы ширина легенды не изменилась, но она устраняет проблему, хотя и косвенно. – Phaeze

+0

Вы можете посмотреть на http://api.highcharts.com/highcharts#legend параметры, такие как ширина, или попытаться установить useHTML как true. –

Смежные вопросы