我使用dc.js構建系列圖表。我無法根據需要設置Y軸的開始和結束。有人可以建議如何實現從90開始而不是從0開始的Y軸?理想情況下,我想將Y軸啓動設置爲數據值的最小值並結束爲數據值的最大值。設置直流系列圖中的Y軸範圍
代碼:
d3.csv("data/compareData.txt", function(data) {
ndx = crossfilter(data);
runDimension = ndx.dimension(function(d) {return [+d3.time.format.iso.parse(d.timestamp), +d.meterid]; });
runGroup = runDimension.group().reduceSum(function(d) { return +d.voltagemagnitude*100; });
testChart
.width(768)
.height(480)
.chart(function(c) { return dc.lineChart(c).interpolate('basis'); })
.x(d3.time.scale().domain([1366621166000, 1366621179983]))
.y(d3.scale.linear().domain([90, 100]))
.brushOn(false)
.yAxisLabel("Measured Speed km/s")
.xAxisLabel("Run")
.elasticY(true)
.dimension(runDimension)
.group(runGroup)
.mouseZoomable(false)
.seriesAccessor(function(d) {return "PMU: " + d.key[1];})
.keyAccessor(function(d) {return +d.key[0];})
.valueAccessor(function(d) {return +d.value;})
.legend(dc.legend().x(350).y(350).itemHeight(13).gap(5).horizontal(1).legendWidth(140).itemWidth(70));
testChart.yAxis().tickFormat(function(d) {return d3.format(',d')(d);});
testChart.margins().left += 40;
dc.renderAll();
});
工作!我必須設置.yAxisPadding(-1)才能顯示。但你的回答至少讓我的y軸蜱顯示。 –
@MWWiLofDoom:謝謝! –