javascript - 在 ChartJS 散点图中移动零线
问题描述
我在 ChartJS 图表中有一个带有单点的散点图。但是,刻度从零开始,这导致零线不会显示在图表的中间。我将添加几张图片来说明我在寻找什么。
想要的结果:
当前结果:
(请忽略两个图像数据集之间的差异)
这是我当前的代码:
window.onload = function() {
var ctx = document.getElementById('canvas').getContext('2d');
window.myScatter = Chart.Scatter(ctx, {
data: {
datasets: [{
backgroundColor: '#000000',
borderColor: '#000000',
data: [{
x: 61.01,
y: 62.87
}]
}]
},
options: {
title: {
display: false,
},
scales: {
xAxes: [{
ticks: {
beginAtZero: false,
max: 100,
min: 0,
stepSize: 20
},
gridLines: {
display: true,
}
}],
yAxes: [{
ticks: {
beginAtZero: false,
max: 100,
min: 0,
stepSize: 20
}
}]
}
},
});
};
我查看了文档,但找不到允许我将 zeroLines 移动到 50 的样式设置。我有可能实现这一点吗?
解决方案
正如 Z. Bagley 在评论中向我建议的那样,我只需在图表上画两条线就解决了这个问题。使用Annotations Plugin很容易实现这一点。
添加插件后,我只是将以下代码添加到我的选项对象中:
annotation: {
annotations: [
{
drawTime: 'afterDraw',
type: 'line',
mode: 'horizontal',
scaleID: 'y-axis-1',
value: 50,
borderColor: '#005a99',
borderWidth: 4,
label: {
enabled: false,
}
},
{
drawTime: 'afterDraw',
type: 'line',
mode: 'vertical',
scaleID: 'x-axis-1',
value: 50,
borderColor: '#005a99',
borderWidth: 4,
label: {
enabled: false,
}
}
]
},
这创造了想要的结果:
推荐阅读
- microsoft-forms - Microsoft Forms - 需要分支表单的提交按钮
- math - 寻找数组组合的解决方案
- git - 我如何将 git commit 消息自定义为默认日期
- assembly - MyProgram.exe 中 0x0010D9DB 处未处理的异常:0xC000001D:非法指令
- go - 使用特定版本的 golang 依赖模块
- airflow - 触发气流后立即杀死任务
- amazon-web-services - Gremlin 查询以计算边数 - MemoryLimitExceededException AWS Neptune
- laravel - Laravel - 如何运行相同的 PHP 单元测试 n 次以同时启动(测试竞争条件)
- python - 尝试编写代码但得到 TypeError: unsupported operand type(s) for +: 'float' and 'type'
- amazon-web-services - 使用 cognito 进行身份验证,使用自定义授权器进行授权