Как изменить цвет линии на билборде. js - PullRequest
2 голосов
/ 05 августа 2020

Я новичок с рекламным щитом. js, попытался сделать очень простую вещь: изменить цвет линии.

var chart = bb.generate({
  data: {
    columns: [
    ["data1", 30, 20, 50, 40, 60, 50],
    ["data2", 200, 130, 90, 240, 130, 220]
    ],
    type: "line",
    bindto: "#dataColor"
});

chart.data.colors({data1:'orange'});

В этом примере я могу изменить цвет data1 на оранжевый , но data1 не является переменной, мне нужно что-то вроде этого:

var lab1="toto",lab2="titi";
var chart = bb.generate({
  data: {
    columns: [
    [lab1, 30, 20, 50, 40, 60, 50],
    [lab2, 200, 130, 90, 240, 130, 220]
    ],
    type: "line",
    bindto: "#dataColor"
});

chart.data.colors({lab1:'orange'});

Но это не работает, мне нужно жестко закодировать значение lab1: chart.data.colors ({toto: ' оранжевый '})

1 Ответ

1 голос
/ 05 августа 2020

Попробуйте заключить it в квадратные скобки. Это должно заменить его строковым значением lab1.

chart.data.colors({[lab1]:'orange'});

From MDN

Начиная с ECMAScript 2015, синтаксис инициализатора объекта также поддерживает вычисляемые имена свойств. Это позволяет вам заключить в скобки [] выражение, которое будет вычисляться и использоваться в качестве имени свойства.

Если вы не используете ES2015, вы всегда можете сделать

var d = {};
d[lab1] = 'orange';
chart.data.colors(d);
...