Я использую d3js и загружаю некоторые данные из файла tsv. Для числовых данных я устанавливаю весы следующим образом:Установить домен в порядковой шкале из данных tsv
var x=d3.scale.linear()
.domain([d3.min(data,function(d){return + d.GERD;}),d3.max(data,function(d){return +d.GERD;})])
...
Которые находят минимальные и максимальные значения в реальных данных. Таким образом, мне не нужно угадывать свои масштабы, и если данные меняются, масштаб меняется.
Я хочу то же самое для нечисловых значений.
В этих же данных есть группа «Континент», для которой я хочу использовать код цвета. Поэтому я использую category10 порядковую шкалу, например:
var colorRamp=d3.scale.category10()
.domain(["Africa","Asia"....]);
Все примеры, которые я нахожу в Интернете показать домен для порядковых шкал создаются с конкретными значениями, а не как вытащить эту информацию из данных.
я возился и придумал это, который работает:
var colorRamp=d3.scale.category10()
.domain(data.map(function (d) { return d.continent; }))
Мой вопрос, является ли это лучший способ сделать это? Есть ли что-то более d3-идиоматическое? Упускаю ли я что-то совершенно очевидное?
Это способ сделать это. –