jQuery Flot и графические цвета

#jquery #flot

#jquery #поток

Вопрос:

Как я могу изменить цвета линий с помощью плагина flot и graphTable:

 $('table.statics').graphTable({series: 'columns', position : 
       'replace', height : '180px'});
  

Но я хотел бы изменить цвета в параметрах графической таблицы, что-то вроде:

 $('table.statics').graphTable({series: 'columns', position : 
       'replace', height : '180px', 
       colors: ["#92d5ea", "#666699", "#be1e2d", "#ee8310", "#8d10ee"]});
  

И тогда каждая строка в результирующем flot-графике будет иметь соответствующие цвета из столбца.

Ответ №1:

В flot вы можете указать цвет для определенной серии:

 //series object
{
  data: rowData,
  label: label,
  color: '#92d5ea'
}
  

Просматривая плагин graphTable, я обнаружил, что такая строка встречается дважды:

 tableData[tableData.length] = { label: label, data: rowData };
  

Именно здесь создается объект series. Таким образом, вам пришлось бы определить свой цвет в этой области, а затем установить его.

РЕДАКТИРОВАТЬ: Если вы хотите иметь возможность задавать его с помощью вызова graphTable, вам придется отредактировать плагин graphTable и добавить colors аргумент в качестве возможности. Вот как:

 //find the line after "var args = {" and add this
colors: null,
  

Затем позже, вместо

 tableData[tableData.length] = { label: label, data: colData };
  

Поместите это:

 var series = {label: label, data: colData };
if (args.colors amp;amp; args.colors[j-args.dataStart]){
    series.color = args.colors[j-args.dataStart]
}
tableData[tableData.length] = series;
  

Обратите внимание, я только показываю, как работать с разделом columns, а не со строками. Теперь вы можете сделать что-то вроде этого:

 $('#table1').graphTable({series: 'columns', colors: ['red','red','blue']});
  

И результат выглядит так (не работает в IE из-за отсутствия исключений).

Комментарии:

1. tableData[tableData.length] = { label: метка, данные: colData, цвет: ‘#000’ }; работает, только тогда обе строки становятся черными… Есть ли способ сделать 1 строку черной, а одну серой или что-то в этом роде? 🙂

2. В этом случае измените foo на $table.css('color') , и он будет использовать цвет, определенный css таблицы.

3. То же самое, что у меня есть на экране: gallerion.nl/example.gif цвет таблицы теперь красный. Я хочу, чтобы 1 строка была красной, а 1 — черной. Я надеюсь, что вы сможете помочь 🙂

4. Спасибо, Райли, я собираюсь поиграть с этим утром! Но это не работает в IE? : (

5. просто мой пример не работает в IE, потому что я не включаю исключения для flot