javascript - 如何在 DC.js 系列图表中为不同的线条绘制不同的线条图案?

标签 javascript d3.js dc.js

这是我生成的图表图像:Current Series Chart

我已将 dashStyle 函数应用于折线图对象,该对象已将相同的模式应用于所有线条。我需要绘制一个系列图表,每条线都有不同的图案(虚线、点线、平面线等)。图表函数中的“c”对象中有很多属性。我不确定哪个属性对应于数据值。 “c”对象的 data 属性类似于“_dc/dc.baseMixin/_chart.data()” 我是 javascript 和 dc js 的新手,并不完全理解幕后发生的事情。

有没有办法在折线图中为不同的线条绘制不同的模式?

这是我当前的代码,是在引用此示例后实现的:http://dc-js.github.io/dc.js/examples/range-series.html

 focusChart
.width(920)
.height(380)
.chart(function(c) { console.log(c);return dc.lineChart(c).dashStyle([2,3]).interpolate('cardinal').evadeDomainFilter(true); })
.x(d3.scale.linear().domain([1995,2017]))
.brushOn(false)

.yAxisLabel("Topic Weight")
.xAxisLabel("Year")
.elasticY(true)
.dimension(series1Dimension)
.group(series1Group)
.colorAccessor(function(d){
  return d.key.split(",")[0].slice(5);
})
.colors(TopicColorScale)
focusChart.seriesAccessor(function(d) {return " " + d.key[0];})
.keyAccessor(function(d) {return +d.key[1];})
.valueAccessor(function(d) {return +d.value;})

.legend(dc.legend().x(400).itemHeight(13).gap(1).horizontal(10).legendWidth(540).itemWidth(210));


 focusChart.yAxis().tickFormat(function(d) {return d3.format('d')(d);});


 focusChart.xAxis().tickFormat(function(d) {return d3.format('d')(d);});


focusChart.margins().left += 20;

任何帮助将不胜感激!

最佳答案

线路

.chart(function(c) { console.log(c);return dc.lineChart(c).dashStyle([2,3]).interpolate('cardinal').evadeDomainFilter(true); })

提供生成子图的功能。该函数的参数appear to be undocumented ,但是 quick look at the source reveals

var subChart = _charts[sub.key] || _chartFunction.call(_chart, _chart, chartGroup, sub.key, i);

该函数采用以下参数:

  1. 综合图表
  2. 注册复合图表的图表组
  3. 子图的键
  4. 子图的索引

这就是您想要的第三个参数。它是您的 seriesAccessor 返回的键,您可以使用任何您想要基于该键设置 dashStyle 的方法。

关于javascript - 如何在 DC.js 系列图表中为不同的线条绘制不同的线条图案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45342928/

相关文章:

javascript - 如何将数据呈现为电子邮件中的图表

javascript - Dc.js 与行图上的 Bootstrap 样式冲突

javascript - Chrome - 调试 WebGL 崩溃 ("Rats! WebGL hit a snag.")

javascript - 使用 html5Mode 时 Angular 路线 ui 重新加载问题

javascript - 预览 d3 条形图,使其按每个 x 值的值排序

javascript - D3 水平条形图精确副本

javascript - 突出显示数组中的单词

javascript - 遍历 json 数据并匹配到一个数组

javascript - 我可以让 elasticX()、elasticY() 仅适用于上限、dc.js 吗?

javascript - queue.js 从本地变量而不是外部文件传递数据