dc.js中的多折线顺序图

安莫尔·库尔

我在这里陷入一个问题。虽然可能很简单,但我很难弄清楚。我想在直流复合图表上显示多条线。我的数据是这样的:

{ Name: Mike, mark1: 26.9, mark2: 62.3 },
{ Name: John, mark1: 23.5, mark2: 60.3 },
{ Name: Firen, mark1: 24.3, mark2: 62.5 }

我需要将名称绘制在X轴上,并将mark1和mark2绘制成相对于Y轴的线。我在这里找到了一个小提琴,它使用线性刻度来达到相同的结果。http://jsfiddle.net/anmolkoul/mzx6mnru/3/

但是它使用线性刻度,因为基本尺寸是数字。我的基本维度是字符串,因此无法使用相同的代码。我认为这是由于我使用的比例尺定义。这是我需要帮助的小提琴:http : //jsfiddle.net/anmolkoul/pjLoh1az/1/

我目前将x轴定义为

.x(d3.scale.ordinal().domain(nameDimension))
.xUnits(dc.units.ordinal)

我认为这就是问题所在。我还有两个补充问题:

  1. 完成此操作后,如何为线条分配不同的颜色(它也应反映在图例中)
  2. 我正在看dc.js序列图,这行代码是做什么的?

runDimension = ndx.dimension(function(d) {return [+d.Expt, +d.Run]; });

它会影响两个维度吗?还是只是创建两个交叉滤镜尺寸的一种更快的方法。

谢谢您的帮助!

代号44

您可以使用以下命令获取序数值:

nameDimension.top(Infinity).map(function(d) {return d.Name}))

返回["Mike", "John", "Firen"],然后将其用于序数域。

但这不是必需的,它是自动计算的:

.x(d3.scale.ordinal())
.xUnits(dc.units.ordinal)

对于颜色,可以使用:

dc.lineChart(lineChart1).group(mark1Group,"Mark 1").colors("#FF0000")

这是经过修改的小提琴:http : //jsfiddle.net/1exo25u9/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章