2015-02-04 2 views
0

У меня есть несколько ограниченное знание JS и JQuery, поэтому я сожалею, если это глупый вопрос. У меня есть панель диаграмм, которые будут иметь разную ширину, а также позволяет пользователю изменять ширину. Диаграмма автоматически регулирует его размер. Я хочу, чтобы легенда появлялась под этой диаграммой, но заполняла указанную ширину. Моя проблема заключается в том, что количество столбцов для легенды задается один раз и не может быть обновлено. Поэтому, если я использую диаграмму, покрывающую всю ширину страницы, я хочу показать большее количество столбцов, но если диаграмма имеет небольшое пространство ширины, я бы хотел, чтобы она использовала меньше столбцов. Я могу фиксировать ширину и вычислять количество столбцов, которые мне бы хотелось, но можно ли динамически перерисовывать легенду? Спасибо за помощь!Таблица легенд динамического FLOT

+0

Просьба указать код, который у вас уже есть. – cport1

+0

Код относительно легенды: chartSettings.options = { \t \t \t Легенда: { \t \t \t \t шоу: правда, \t \t \t \t noColumns: 3 \t \t \t} Я могу обновить " noColumns ", но легенда не воссоздана. Если я попробую plot.redraw(), он не обновит таблицу легенд. – user1035760

ответ

1

Вам нужна ссылка на объект участок возвращается из $.plot, то это:

plot.getOptions().legend.noColumns = 3; 
plot.setupGrid(); 
plot.draw(); 

Пример here.

+0

Является ли 'plot.draw()' таким же, как 'plot.redraw()'? – Raidri

+0

@ Raidri, [согласно api] (https://github.com/flot/flot/blob/master/API.md#plot-methods) нет метода «перерисовать». – Mark

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