Har*_*son 5 javascript chart.js
我有数据:[10,5,null,10,5]和标签:[2010, 2011, 2012, 2013, 2014]
我想绘制一条在2012和之间有间隙的阶梯线2013.当我设置steppedLine到true,它只是画了一条垂直线的2011,但没有横线连接2011和2012作为价值2012的null.如果我设置spanGaps为true,它将从值2011到2013值绘制一条线5.
基本上我正在寻找的是如果起始值是一个数字并且结束值是null,则绘制一条线,但反之则不然
控制器中的相关代码:
_this.lines = {};
_this.lines.labels = [2010,2011,2012,2013,2014];
_this.lines.data = [
[10, 5, null, 10, 5]
];
_this.lines.series = ['Now'];
_this.lines.options = {
scales: {
xAxes: [{
type: 'time',
time: {
parser: 'DD MMM YYYY'
}
}],
yAxes: [{
type: 'linear',
ticks: {
beginAtZero: true
}
}]
}
};
_this.lines.datasetOverride = [{
fill: false,
spanGaps: true,
steppedLine: true
},
];
Run Code Online (Sandbox Code Playgroud)
HTML:
<canvas class="chart chart-line" chart-labels="ctrl.lines.labels" chart-data="ctrl.lines.data" chart-options="ctrl.lines.options" chart-series="ctrl.lines.series" chart-dataset-override="ctrl.lines.datasetOverride" height="140" responsive=true></canvas>
Run Code Online (Sandbox Code Playgroud)
这可能不完全是您想要的,但您可以随意添加另一个2012具有相同值的点 at 2011,然后2012随意添加另一个数据点,这样它将在和 之间null创建一个间隙,尽管它会在 处创建一个点。201220132012
_this.lines.labels = [2010,2011,2012,2012,2013,2014];
_this.lines.data = [
[10, 5,5,null, 10, 5]
];
Run Code Online (Sandbox Code Playgroud)
这将是对当前代码的唯一更改