一旦图表宽度变得足够小,您的固定 barValueSpacing 就会水平翻转您的条形(条形的右边缘变为左边缘,反之亦然)。您需要通过扩展条形图类型,根据图表宽度动态设置 barValueSpacing。
这就是你的做法
var a = [1, 2, 3];
var data = {
labels: ["A", "B", "C"],
datasets: [{
label: "My dataset",
fillColor: "rgba(151,187,205,0.2)",
strokeColor: "rgba(151,187,205,1)",
pointColor: "rgba(151,187,205,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(151,187,205,1)",
data: a
}]
};
Chart.types.Bar.extend({
name: "BarAlt",
draw: function(){
this.options.barValueSpacing = this.chart.width / 5;
Chart.types.Bar.prototype.draw.apply(this, arguments);
}
});
还有小提琴 - http://jsfiddle.net/9avv76vx/
顶部是调整大小的条,底部是普通条 - 我已将图表宽度除以常数 (5),但在现实生活中,您需要考虑数据点的数量并除以适当的分数。