【发布时间】:2014-08-29 09:11:20
【问题描述】:
我正在使用dc.js 绘制图表,非常棒。
我目前正在尝试为每个条创建带有目标线的条形图,类似于子弹图,请参阅http://bl.ocks.org/mbostock/4061961。我只需要目标行(+值);我可以完美地创建堆叠条。
我目前使用复合图表,其中目标是lineChart,插值设置为step-before。
composite
.width(768)
.height(480)
.x(d3.scale.linear().domain([0,20]))
.yAxisLabel("The Y Axis")
.legend(dc.legend().x(80).y(20).itemHeight(13).gap(5))
.renderHorizontalGridLines(true)
.compose([
dc.barChart(composite)
.dimension(dim)
.colors('red')
.group(grp1, "Top Line"),
dc.lineChart(composite)
.dimension(dim)
.colors('blue')
.group(grp2, "Bottom Line")
.interpolate("step-before")
])
.brushOn(false)
.render();
但是,这会产生难看的垂直线。有更好的方法吗?
【问题讨论】:
-
这是一个非常酷的可视化,我认为你在正确的轨道上。我为此悬赏,因为我想不出一个好的解决方案。我的第一个想法是使用渲染器来删除垂直段,但我认为这行不通,因为 svg 路径必须分成多行。
-
@Gordon 我做了更多的工作并放弃了这条线(因为它在 ordinals() 轴上有排序问题。)。我在 dc.js 条形图上添加了一些我的功能。什么是贡献这个的好方法?
标签: javascript charts bar-chart dc.js