我正在尝试使用chart.js 2.3.0 -
绘制一个水平条形图 var MeSeContext = document.getElementById("MeSeStatusCanvas").getContext("2d");
var MeSeData = {
labels: [
"ME",
"SE"
],
datasets: [
{
label: "Test",
data: [100, 75],
backgroundColor: ["#669911", "#119966" ],
hoverBackgroundColor: ["#66A2EB", "#FCCE56"]
}]
};
var MeSeChart = new Chart(MeSeContext, {
type: 'horizontalBar',
data: MeSeData,
options: {
scales: {
yAxes: [{
stacked: true
}]
}
}
});
但它只显示一个栏。我在这里想念的是什么?
答案 0 :(得分:21)
您只能看到一个图表,因为数据的最低值(此处 75 )是比例左边界限。
如下面的代码截图所示,如果您将鼠标悬停在比例尺上,您仍然可以看到关联的数据,这意味着它就在这里。
您有两种解决方法:
将xScale刻度的min
属性设置为您想要的值(当然足以看到它):
var MeSeChart = new Chart(MeSeContext, {
type: 'horizontalBar',
data: MeSeData,
options: {
scales: {
xAxes: [{
ticks: {
min: 60 // Edit the value according to what you need
}
}],
yAxes: [{
stacked: true
}]
}
}
});
您可以在min
设置为60 on this jsFiddle的情况下查看结果:
将beginAtZero
属性设置为true
,这与将min
设置为0相同:
xAxes: [{
ticks: {
beginAtZero: true
}
}],
您可以在beginAtZero
属性设置为true
on this jsFiddle的情况下查看结果。