chart.js v2 中是否有任何配置允许条形图从某个数字而不是原点开始?
Is there any configuration in chart.js v2 that allows bar's to start from some number instead of origin?
我有一个案例,数字越小,价值越高。因此,我想构建一个条形图,其中条形图从某个负值开始向零移动。通过 Chart.js 文档查看,我没有看到此用例的任何选项,而在一些评论中,我看到很少有人提到可以执行此操作的选项 barBeginAtOrigin:true
。但是好像不行。
没有人知道 Chart.js V2 是否可行吗?
更新(更多说明):
注意,条形从总和 100,000 开始到 1 或 0。与 100,000 相比,这里 1 或 0 被认为是非常高的数字。我不认为此功能在 Chart.js V2 中是开箱即用的。
这可以通过 floating bars 完成,其中使用语法 [min, max]
.
指定各个柱
给定一个 data
数组,它的值可以很容易地通过 Array.map() 方法转换为所需的 data
属性。
data: data.map(v => ([0, v]))
请查看下面的可运行示例,看看它是如何工作的。
var data = [-5, -7, -3, -6, -2, -4, -3];
new Chart('myChart', {
type: 'bar',
data: {
labels: ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
datasets: [{
label: 'My Bars',
backgroundColor: ["rgba(255, 99, 132, 0.2)", "rgba(255, 159, 64, 0.2)", "rgba(255, 205, 86, 0.2)", "rgba(75, 192, 192, 0.2)", "rgba(54, 162, 235, 0.2)", "rgba(153, 102, 255, 0.2)", "rgba(201, 203, 207, 0.2)"],
borderColor: ["rgb(255, 99, 132)", "rgb(255, 159, 64)", "rgb(255, 205, 86)", "rgb(75, 192, 192)", "rgb(54, 162, 235)", "rgb(153, 102, 255)", "rgb(201, 203, 207)"],
borderWidth: 1,
data: data.map(v => ([0, v]))
}]
},
options: {
scales: {
xAxes: [{
position: 'top'
}]
},
tooltips: {
callbacks: {
label: tooltipItem => data[tooltipItem.index]
}
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.min.js"></script>
<canvas id="myChart"></canvas>
我有一个案例,数字越小,价值越高。因此,我想构建一个条形图,其中条形图从某个负值开始向零移动。通过 Chart.js 文档查看,我没有看到此用例的任何选项,而在一些评论中,我看到很少有人提到可以执行此操作的选项 barBeginAtOrigin:true
。但是好像不行。
没有人知道 Chart.js V2 是否可行吗?
更新(更多说明):
注意,条形从总和 100,000 开始到 1 或 0。与 100,000 相比,这里 1 或 0 被认为是非常高的数字。我不认为此功能在 Chart.js V2 中是开箱即用的。
这可以通过 floating bars 完成,其中使用语法 [min, max]
.
给定一个 data
数组,它的值可以很容易地通过 Array.map() 方法转换为所需的 data
属性。
data: data.map(v => ([0, v]))
请查看下面的可运行示例,看看它是如何工作的。
var data = [-5, -7, -3, -6, -2, -4, -3];
new Chart('myChart', {
type: 'bar',
data: {
labels: ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
datasets: [{
label: 'My Bars',
backgroundColor: ["rgba(255, 99, 132, 0.2)", "rgba(255, 159, 64, 0.2)", "rgba(255, 205, 86, 0.2)", "rgba(75, 192, 192, 0.2)", "rgba(54, 162, 235, 0.2)", "rgba(153, 102, 255, 0.2)", "rgba(201, 203, 207, 0.2)"],
borderColor: ["rgb(255, 99, 132)", "rgb(255, 159, 64)", "rgb(255, 205, 86)", "rgb(75, 192, 192)", "rgb(54, 162, 235)", "rgb(153, 102, 255)", "rgb(201, 203, 207)"],
borderWidth: 1,
data: data.map(v => ([0, v]))
}]
},
options: {
scales: {
xAxes: [{
position: 'top'
}]
},
tooltips: {
callbacks: {
label: tooltipItem => data[tooltipItem.index]
}
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.min.js"></script>
<canvas id="myChart"></canvas>