2016-03-23 2 views
0

Существует еще одна проблема с размером маркера с высоким качеством. Есть 3 свойства, размер зависит от: радиуса, высоты, ширины. Значения по умолчанию радиуса 4. I`m высота установки и ширина маркеров, который зависит от некоторых данных, например:Изменение размера маркера с высоким качеством/после наведения

marker: { 
    height: 50, 
    width: 70, 
    symbol: 'circle' 
} 

графа рендеринг. Вот как это выглядит: enter image description here

Но после, или при изменении размера зависания. Он возвращается к значению по умолчанию RADIUS и игнорирует мои значения высоты и ширины: enter image description here

Любые идеи, как их исправить?

+0

Вы пытались настроить состояние зависания вручную на те же значения? Не уверен, что это правильно, но вы можете попробовать также установить plotOptions.series.states.hover.marker.width/height. – KjetilNordin

+0

@ KjetilNordin no. На этом нет никакой реакции – svatok13

+0

. Я бы посмотрел на ** point mouseOver ** и ** point mouseOut **. Ссылка: http://api.highcharts.com/highcharts#plotOptions.series.point.events.mouseOver | http://api.highcharts.com/highcharts#plotOptions.series.point.events.mouseOut – jlbriggs

ответ

1

Вы можете сделать эту работу, обернув метод setState в Highcharts (или используя событие mouseOver). Вот простой пример:

(function (H) { 
    H.wrap(H.Point.prototype, 'setState', function (p) { 
    p.apply(this, [].slice.call(arguments, 1)); 

    if (this.marker && this.graphic) { 
     this.graphic.attr({ 
     width: this.marker.width, 
     height: this.marker.height 
     }); 
    } 
    }); 
})(Highcharts); 

И демо: http://jsfiddle.net/o5nkeup7/1/

Я предлагаю отключить halo - путь гало всегда круг, и не будет работать в вашем случае.

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