我想创建一种新的图形,它是两种现有图形类型的混合。例如。一个“ lineBar”。
我知道chartjs可以混合使用多种类型,请参见Mixed Chart Types:
var mixedChart = new Chart(ctx, {
type: 'bar',
data: {
datasets: [{
label: 'Bar Dataset',
data: [10, 20, 30, 40]
}, {
label: 'Line Dataset',
data: [50, 50, 50, 50],
// Changes this dataset to become a line
type: 'line'
}],
labels: ['January', 'February', 'March', 'April']
},
options: options
});
我也知道chartjs通过扩展现有的图表类型来允许自定义图表类型,请参见New Charts:
var custom = Chart.controllers.bubble.extend({
draw: function(ease) {
// Call super method first
Chart.controllers.bubble.prototype.draw.call(this, ease);
// Now we can do some custom drawing for this dataset. Here we'll draw a red box around the first point in each dataset
var meta = this.getMeta();
var pt0 = meta.data[0];
var radius = pt0._view.radius;
var ctx = this.chart.chart.ctx;
ctx.save();
ctx.strokeStyle = 'red';
ctx.lineWidth = 1;
ctx.strokeRect(pt0._view.x - radius, pt0._view.y - radius, 2 * radius, 2 * radius);
ctx.restore();
}
});
我想要的是两者的结合。我希望能够获得一个新图表,该图表可以在一次调用中显示两种不同的类型(例如,均线标出的条形图)。
我尝试在扩展的初始化部分更改图表对象,但是添加更多数据集会导致buildOrUpdateElements错误。
如何创建新的图表类型,将现有图表类型组合在一起?