2014-11-04 3 views
2

Привет У меня есть ФЛОТ диаграммы с серии, как это:скрыть легенду для некоторых серий в ФЛОТ

  • Foo
  • бар
  • Foo/второй
  • бар/второй

Относительные значения (в секунду) отображаются в виде строк, тогда как абсолютные значения отображаются в виде столбцов. Все в пределах одной диаграммы. Абсолютный и относительный один и тот же объект имеют один и тот же цвет. Я хочу, чтобы легенда быть, как это:

  • [красный] Foo
  • [синий] бар

Я достиг этого, установив метку относительной серии обнулить. Тем не менее, я использую эту метку при наведении курсора на точку в ряду. Теперь нулевое значение бесполезно.

Так есть способ явно скрыть серию в легенде, но все же установить ее метку?

Спасибо.

ответ

3

Вместо того чтобы устанавливать ярлык самой серии данных в нуль, используйте labelFormatter функцию для легенды (см here):

labelFormatter: function(label, series) { 
    // series is the series object for the label 
    // label is the original label 

    if (showInLegend) { 
     return label; 
    } 
    else { 
     return null; 
    } 
} 
+0

Ответ Радири сработал бы для меня, если бы в моей среде была более новая версия флота. К сожалению, поскольку мы на флоте 0,6, мне пришлось зайти в файл flot.js и переместить пару строк кода в функцию insertLegend, чтобы нулевой возврат из labelFormatter фактически пропустил метку, а не буквально обозначил запись легенды «null» на моем сюжете. Спасибо за ясный ответ Raidri! Примечание. У меня недостаточно репутации, чтобы прокомментировать его ответ, поэтому мне пришлось оставить еще один ответ и упомянуть его вместо этого. Надеюсь, что это поможет, если кто-то еще застрял на старой версии флота. – superbeck

0

Вы можете легко скрыть всю легенду, используя:

$('.legend').hide(); 

Если вы проверите объект DOM легенды, вы увидите, что это таблица строк. Вы можете скрыть любую из строк соответственно.