gpt4 book ai didi

javascript - 如何在 Y 轴上显示一定数量的刻度?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:53:25 27 4
gpt4 key购买 nike

我有一张图表,其中我已经知道我需要的设定的刻度数。有 3 个带有分组条形图。我正在为如何强制执行而绞尽脑汁。现在它显示 0 到我的数据集中的任何数字,并根据需要自动缩放。

默认情况下,假设我使用数字来缩放,但在这种情况下,它是 Y 轴上的正、中性、负(字面上的标签),它们是与 X 轴上特定日期相关的数据点(2标记为 AM/PM 的分组条形图)。

Chart.js 文档似乎没有解释在刻度配置的数字之外工作时如何进行调整,我不确定如何强行插入。有什么想法吗?以下是我所获得的代码。

截图示例我基本上通过选择 4,8 和 12 来模拟 3 个数据点。我希望这些标签是(负的,正的,中性的)并且让所有其他刻度消失。

<canvas id="myChart" width="400" height="400"></canvas>
<script>
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ['Date/MoonCenter', 'Date/MoonCenter', 'Date/MoonCenter'],
datasets: [{
label: 'Dataset 1', backgroundColor: window.chartColors.red,
stack: 'Stack 0',
data: [4, 12, 4, 8, 12, 4]
},{
label: 'Dataset 1', backgroundColor: window.chartColors.blue,
stack: 'Stack 1',
data: [8, 8, 12, 4, 4, 12]
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
</script>

Chart as it looks currently

最佳答案

你只需要在滴答中添加回调,

<canvas id="myChart" width="400" height="400"></canvas>
<script src='Chart.js'></script>
<script>
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ['Date/MoonCenter', 'Date/MoonCenter', 'Date/MoonCenter'],
datasets: [{
label: 'Dataset 1', backgroundColor: window.chartColors.red,
stack: 'Stack 0',
data: [4, 12, 4, 8, 12, 4]
}, {
label: 'Dataset 1', backgroundColor: window.chartColors.blue,
stack: 'Stack 1',
data: [8, 8, 12, 4, 4, 12]
}]
},
options: {
scales: {
yAxes: [
{
ticks: {
beginAtZero: true,
callback: function (label, index, labels) {
switch (label) {
case 4:
return 'negative';
case 8:
return 'positive';
case 12:
return 'neutral';
}
}
}
}
]
}
}
});
</script>

关于javascript - 如何在 Y 轴上显示一定数量的刻度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55584574/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com