确保 (0,0) 在折线图中
Make sure (0,0) is in the line chart
当折线图中只有一个点时,我只看到x轴和y轴。
但我想看到从 (0,0) 到这一点的直线。
我有
charts.push(
dc.lineChart(compositeBrushchart).dimension(dim)
.colors(config.charts[x].color)
.group((add_origin(grp)),config.charts[x].group)
.interpolate(config.interpolate)
.renderDataPoints(config.renderdatapoints)
.renderArea(config.renderarea)
.renderDataPoints({radius: config.charts[x].symbolsize})
.dashStyle(config.charts[x].dash.split(","))
您可以使用 fake group 预处理您的数据,添加或删除来自交叉过滤器组的点。
每次绘制图表时,它都会调用group.all()
来获取其数据。如果将组包裹在另一个对象中,则可以修改数据。
在您的情况下,您希望确保点 (0,0) 始终位于数据的开头。
这是一个简单的实现,假设 (0,0) 不在您的数据中:
function add_origin(group) {
return {
all: function() {
return [{key: 0, value: 0}].concat(group.all());
}
};
}
您可以在将原始组传递到图表时包装它:
lineChart
.group(add_origin(group))
如果您的数据中有任何 0 或负键,它可能会变得更复杂,但从您的评论来看,您的数据听起来像是正数。
当折线图中只有一个点时,我只看到x轴和y轴。
但我想看到从 (0,0) 到这一点的直线。
我有
charts.push(
dc.lineChart(compositeBrushchart).dimension(dim)
.colors(config.charts[x].color)
.group((add_origin(grp)),config.charts[x].group)
.interpolate(config.interpolate)
.renderDataPoints(config.renderdatapoints)
.renderArea(config.renderarea)
.renderDataPoints({radius: config.charts[x].symbolsize})
.dashStyle(config.charts[x].dash.split(","))
您可以使用 fake group 预处理您的数据,添加或删除来自交叉过滤器组的点。
每次绘制图表时,它都会调用group.all()
来获取其数据。如果将组包裹在另一个对象中,则可以修改数据。
在您的情况下,您希望确保点 (0,0) 始终位于数据的开头。
这是一个简单的实现,假设 (0,0) 不在您的数据中:
function add_origin(group) {
return {
all: function() {
return [{key: 0, value: 0}].concat(group.all());
}
};
}
您可以在将原始组传递到图表时包装它:
lineChart
.group(add_origin(group))
如果您的数据中有任何 0 或负键,它可能会变得更复杂,但从您的评论来看,您的数据听起来像是正数。