2016-04-12 1 views
3

У меня есть диаграмма пузырьков Highcharts, в которой многие точки будут иметь одинаковые или очень похожие значения. В настоящее время видна только метка данных верхней точки. У меня есть функциональность, которая позволяет подсвечивать точки (используя метод select()). Когда выбрана точка, я также перемещаю ее вверх, используя point.graphic.toFront(), но также хочу, чтобы метка данных выбранной точки была перемещена в верхнюю часть. Я не могу понять, как это сделать или если это возможно.Highcharts Bubble Chart - Как перенести метку данных отдельных точек (dataLabel) в начало/сверху

Есть ли способ переместить метку данных отдельных точек на передний/верх, чтобы ее можно было увидеть?

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

+0

Не могли бы вы опубликовать живой пример, как jsFiddle? Будет быстрее работать над существующим кодом, чем писать все заново. –

+0

@KacperMadej очень простой пример здесь: http://jsfiddle.net/jlbriggs/3d3fuhbb/136/ (я пытался что-то сделать раньше, но далеко не прошел) «A» впереди, «B» скрыт , Как может «B» иметь приоритет? – jlbriggs

+0

Извините, я не предоставил jsFiddle. Я надеялся, что это не будет необходимо, но большое спасибо за то, что помогли мне на этом @jlbriggs. – jbgarr

ответ

2

Если вы определяете labelrank как свойство точки, то это позволит вам контролировать скрытие/показ ярлыков при перекрытии меток.

data: [{ 
     x: 1, y: 1, labelrank: 1, name: 'A' 
     },{ 
     x: 1, y: 1, labelrank: 2, name: 'B' 
     }] 
    }] 

Пример: http://jsfiddle.net/x5sfcekL/

+0

Это здорово! Где информация для 'labelrank' в документах? Я никогда не видел упоминания об этом. В любом случае, спасибо за помощь в этом. Это решило мою проблему. – jbgarr

+1

Ницца. И просто примечание - кажется, вы можете пропустить присвоение его в каждой точке и обновить его только в тех точках, где есть конфликт, который вы хотите переписать, установив точку, которую вы хотите сверху, на 1. – jlbriggs

+1

@jlbriggs Это на самом деле точно что я сделал. Поэтому для будущей ссылки здесь важная часть кода обновления, которая была мне полезна: 'point.update ({labelrank: 1})' – jbgarr

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