Я использую HighCharts версии 4.0.4. У меня есть диаграмма рассеяния, которая имеет процентные значения для ширины и высоты. Таким образом, график автоматически изменяется, если размер контейнера/окна изменился.HighCharts: динамически изменяет маркеры диаграммы рассеяния
Единственное, что не меняется по размеру, это радиус маркеров, потому что кажется, что я могу определить число, см. Здесь plotOptions.scatter.marker.radius.
Вот JSFiddle here с исправлением radius
из 10.
$(function() {
$('#container').highcharts({
chart: {
type: 'scatter',
zoomType: 'xy'
},
plotOptions: {
scatter: {
marker: {
radius: 10
}
}
}
/*, ... */
});
});
Изменение размера контейнера/окна, размер маркера всегда одинаков. Но моя веб-страница использует проценты или значения rem
, и я также хочу изменить размер всех маркеров графика. Как это может быть сделано?
Есть ли еще лучше решение? Если график перерисовывается, событие перерисовывается, правильно? Возможно, это подходящее место для изменения размера маркеров? – Tim
Этого я не знаю. Сначала я попытался использовать ту же логику в [Redraw ] (http://api.highcharts.com/highcharts#chart.events.redraw) обработчик событий, но по какой-то причине звонок в серию [обновление] (http://api.highcharts.com/highcharts#Series. обновление) всегда терпит неудачу с 'Uncaught TypeError: объект не является функцией' внутри него, и у меня не было времени на то, чтобы выяснить почему. – ssarabando
При вызове' series.update() 'он будет запускать событие 'redraw'. вы ставите 'series.update()' в 'redraw()' event, вы создадите бесконечный цикл. Вот почему не обновлять диаграмму в событии перерисовывания. –