Перерисовать селектор диапазона или заголовок графика после показа

Когда я программно показываю заголовок или скрываю/показываю селектор диапазона после создания графика, старые линии осей остаются там.

Заголовок с неверными осевыми линиями

Та же проблема упоминается @leomoty в этом комментарии.

Функция graph.resize() не помогает. Только изменение размера окна браузера.

Диграф версия 1.1.1


person Ondřej Severa    schedule 11.05.2016    source источник
comment
Вы не можете включить/отключить селектор диапазона после создания диаграммы. См. эту проблему.   -  person danvk    schedule 01.06.2016


Ответы (1)


Хорошо, немного поздно, но вот решение.

// kill rangeselector object (this is not cleared by dygraph)
delete dchart.rangeSelector_;
// update
dchart.updateOptions({ 
    // showRangeSelector: FULLVERSION,
    // or whatever settings you want
});
// resize so redraw is forced
// instead of #chart put #whatever-your-div-id-is
var cur_width = $("#chart").width();
var cur_height = $("#chart").height();
// instead of dchart put the variable name of your chart
// in a lot of the examples this is g
dchart.resize(10, 10);
dchart.resize(cur_width, cur_height);

Это решение является адаптацией хака, найденного здесь. Я отредактировал его, чтобы включить больше документации/объяснений и работать с автоматически устанавливаемыми высотами и ширинами, а не только с жестко закодированными.

person Max von Hippel    schedule 12.12.2016