Reputation: 309
I have an array named "dataset" where each entry is an object with a key and value attribute, such as the following:
dataset=
[
{"key":"alpha", "value": [ {}, { } ...]},
{"key":"beta", "value": [ { }, { } ...]},
{"key":"gamma", "value": [ {}, { } ...]},
{"key":"delta", "value": [ { }, { } ...]}
];
dataset.domain:[];
dataset.query:[];
dataset.range:[];
I am working with D3.JS and I am using this dataset to plot in an stacked area chart the alpha, beta, gamma, and delta values. How can I use color.domain() to assign a different color to each "key"?
Upvotes: 1
Views: 5326
Reputation: 27544
To create an array that contains one property from each object in your data array, use an array mapping function:
dataset= [
{"key":"alpha", "value": [ {}, { } ...]},
{"key":"beta", "value": [ { }, { } ...]},
{"key":"gamma", "value": [ {}, { } ...]},
{"key":"delta", "value": [ { }, { } ...]}
];
domain = dataset.map(function(o){return o.key});
/* domain is now ["alpha", "beta", "gamma", "delta"] */
Upvotes: 2