问题
When I apply a dimension filter to a dc.js graph, there are ugly lines where the line plummets towards the y axis.
Is it possible in dc/d3 to not do this, i.e I would expect the graph to more resemble the following;
回答1:
You can call defined directly on the dc created chart.
chart
.chart((c) ->
dc.lineChart(c)
.interpolate('linear')
.defined((d) ->
return !isNaN(d.y)
)
)
The condition !isNan(d.y) can be anything you like that evaluates to true/false.
Note that the d passed by defined is a d3 object and is worth inspecting.
回答2:
Two possible solutions, depending whether you want the line connected or in sections:
Pre-filter the data so that instead of having groups that sum to zero, there aren't groups there at all. This will connect the points with a line segment over the missing data. https://github.com/dc-js/dc.js/wiki/FAQ#filter-the-data-before-its-charted
Use
lineChart.definedto put gaps/breaks in the line where there is no data. https://github.com/dc-js/dc.js/blob/master/web/docs/api-latest.md#definedvalue
来源:https://stackoverflow.com/questions/24413683/dc-d3-line-chart-crashing-down-to-0-on-the-y-axis-after-filtering