2013-11-20 6 views
4

Я использую модель lineChart от NVD3.d3.js nvd3.js - Получите значения min/max оси y

мне нужно принудительно-установить минимальное и максимальное значения по оси Y относительно действительных, например .:

chart.lines.forceY ([мин/1,1, не более 1,1 *]);

Как получить текущие значения min/max y-axis?

ответ

3

Вы можете получить текущий домен через chart.yAxis.scale().domain().

+0

Мне не нужен домен, но точные значения min и max. В моем случае chart.yAxis.scale(). Domain() возвращает массив: [0, 1] – gipadm

+0

Для этого вы можете использовать ['d3.extent'] (https://github.com/mbostock/ d3/wiki/Массивы # wiki-d3_extent) в ваших данных. –

+0

Да, я всегда могу получить минимальные и максимальные значения из данных, но это будет повторный расчет. Я спрашиваю, есть ли способ запросить значения непосредственно из объекта диаграммы, поскольку они уже рассчитаны. – gipadm

1

Если вы уже установили домен у оси так:

var yAxis = d3.svg.axis().scale(y) 
    .orient("left").ticks(5); 

y.domain([0, d3.max(yourData)]); 

вы можете получить доступ к значениям через y. y[0] является минимальным, y[1] является макс.

+0

Это правильный ответ. Попробуйте также: d3.extent (y.domain()), чтобы вернуть как нижний, так и верхний граничные значения по оси y в простой массив. –

+0

Приложение: После того как ограниченные значения известны, вы можете просто использовать y (min) или y (max), чтобы получить отображаемые границы для указанного диапазона. –

Смежные вопросы