我正在尝试使用dc.js创建2个折线图的组合 . 但我每次都会收到此错误:未捕获的TypeError:timeChart.width(...) . height(...) . x(...) . elasticY(...) . marginins(...) . dimension( . ..) . 撰写不是一个功能
这是一个时间序列,我想将netCommercialPosition和netCommercialPosition绘制为两个单独的行 . 当我堆叠它们时它可以工作,但是当我想要使用.compose时它不工作 .
我跟随了几个例子,例如:Dual Y axis line chart in dc.js http://dc-js.github.io/dc.js/examples/series.html
所以希望我正确使用.compose元素
我的数据集是一个具有以下结构的json:[{“CFTC_Commodity_Code”:1,“Net_Commmercial_Position”: - 113520,“Report_Date_as_MM_DD_YYYY”:“14/07/2015”,“Net_Fund_Position”: - 12246,“Price”:583.5 ,“Net_ Commmercial_Position”:3877,“},]
这是我的代码:
d3.json("/donorschoose/COT", function (error, dataset1){
var ymdFormat = d3.time.format("%d/%m/%Y");
dataset1.forEach(function(p) {
p.Report_Date_as_MM_DD_YYYY = ymdFormat.parse(p.Report_Date_as_MM_DD_YYYY);
});
var COTProjects = dataset1;
var ndx = crossfilter(COTProjects);
var all = ndx.groupAll();
FilterDimension = ndx.dimension(function (d) {
return d.CFTC_Commodity_Code;
});
var dateDim = ndx.dimension(function(d) { return d.Report_Date_as_MM_DD_YYYY; });
var Prices = dateDim.group().reduceSum(function(d) {return d.Price; });
var netFundPosition = dateDim.group().reduceSum(function(d) {return d.Net_Fund_Position; });
var netCommercialPosition = dateDim.group().reduceSum(function(d) {return d.Net_Commmercial_Position; });
var minDate = dateDim.bottom(1)[0]["Report_Date_as_MM_DD_YYYY"];
var maxDate = dateDim.top(1)[0]["Report_Date_as_MM_DD_YYYY"];
var timeChart = dc.lineChart("#time-chart");
actualValuesChart = dc.lineChart(timeChart)
.group(netFundPosition)
normValuesChart = dc.lineChart(timeChart)
.group(netCommercialPosition)
timeChart
.width(650)
.height(260)
.x(d3.time.scale().domain([minDate, maxDate]))
.elasticY(true)
.margins({top: 0, right: 5, bottom: 20, left: 40})
.dimension(dateDim)
.compose([actualValuesChart,normValuesChart])
.transitionDuration(500)
.yAxis().ticks(4);
.brushOn(false)
FilterDimension.filter(1)
dc.renderAll();
});
任何帮助赞赏
提前致谢
1 回答
我找到了解决方案,我的问题是我试图从lineChart对象而不是compositeChart对象调用compose() .
dc.js-s doc