Я использую NVD3 для визуализации данных об экономическом неравенстве. Диаграмма для США находится здесь: http://www.chartbookofeconomicinequality.com/inequality-by-country/USA/
Это две диаграммы lineCharts, расположенные друг над другом. Проблема в том, что у меня довольно много пропущенных значений, и это вызывает две проблемы:
Если бы я не удостоверился, что недостающие значения не визуализируются, линейная диаграмма соединит все показанные значения с недостающими значениями. Поэтому я использовал следующее, чтобы не включать недостающие значения в линейную диаграмму:
chart = nv.models.lineChart()
.x(function(d) { return d[0] })
.y(function(d) { return d[1]== 0 ? null : d[1]; })
Но все же, если вы наведете курсор на ось x, вы увидите, что недостающие значения отображаются во всплывающей подсказке при наведении курсора мыши. Могу ли я полностью избавиться от них? Возможно использование удаления в NVD3?
Вторая проблема напрямую связана с этим. Теперь линия соединяет значения одной и той же серии, только если между ними нет пропущенных значений. Значит, в строках много пробелов. Можно ли соединить точки одной серии, даже если между ними пропущены значения?
Спасибо за помощь!
.defined()
так:.defined(function(d) { return d[1] != null })
. Не уверен, что это даст вам именно то, что вы хотите, но попробовать стоит. - person Lars Kotthoff   schedule 18.01.2014