Я играю с chart.js (http://www.chartjs.org). В настоящее время у меня есть линейный график на основе объекта ниже. Данные по оси X заполняются из массива, хранящегося как «x» в приведенном ниже примере. У меня есть два набора данных, которые являются двумя строками, показанными на моем графике. Данные Y-оси хранятся как «y» и «z» в приведенном ниже примере.Объект и массивы: изменение свойства объекта со ссылкой на второй объект (пример chart.js)
Я пытаюсь добавить некоторые функции, когда пользователь может показать только определенную строку или и то, и другое, если захотят.
Другими словами, добавьте или удалите экземпляр объекта в свойстве набора данных.
Мое понимание ниже структуры: все это объект с именем data; это имеет два свойства, называемые метками и наборами данных. Свойство datasets представляет собой массив экземпляров объектов. Является ли это правильным способом думать об этом?
var data = {
labels : x,
datasets : [
{
fillColor : "rgba(222,223,179,0)",
strokeColor : "rgba(222,223,179,1)",
pointColor : "rgba(222,223,179,1)",
pointStrokeColor : "#fff",
data : y
},
{
fillColor : "rgba(194,95,207,0)",
strokeColor : "rgba(194,95,207,1)",
pointColor : "rgba(194,95,207,1)",
pointStrokeColor : "#fff",
data : z
},
]
}
Я пытался решить мою проблему, создав объект dataSetReference, как показано ниже:
dataSetReference = [
{
fillColor : "rgba(222,223,179,0)",
strokeColor : "rgba(222,223,179,1)",
pointColor : "rgba(222,223,179,1)",
pointStrokeColor : "#fff",
data : y
},
{
fillColor : "rgba(194,95,207,0)",
strokeColor : "rgba(194,95,207,1)",
pointColor : "rgba(194,95,207,1)",
pointStrokeColor : "#fff",
data : z
},
]
Затем ссылаться на него в моем исходном объекте данных, как
datasets: dataSetReference[0,1]
или просто:
datasets: dataSetReference[0]
T его не сработало. Любые предложения о том, почему нет?
Спасибо. Любые предложения о том, как провести полный выбор элементов массива где-нибудь, а затем указать конкретные элементы в свойстве набора данных? В моем фактическом проекте есть 8 наборов данных, поэтому не нужно перечислять отдельные объекты для всех разных комбинаций. – DVCITIS
Вы не хотите хранить 8 наборов данных (массив объектов) в переменной dataSetReference, что это? – Ismail
Я думал, что это был бы достойный подход, если бы я мог ссылаться только на один или два из них, когда это было необходимо; ваш приведенный выше пример показал, что это было невозможно. Теперь он выглядит так, как будто мне нужен массив из восьми объектов, массив из двух объектов, массив из трех объектов и т. Д. И отдельные объекты, когда требуется только одна строка. Множество строк кода. – DVCITIS