我使用 Chart.js 库编写了以下 CODE,它生成了下面显示的 OUTPUT。我正在寻求有关如何有效控制水平轴上的标签的指导。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body>
<canvas id="chart" width="1920" height="1080"></canvas>
<script>
const ctx = document.getElementById('chart').getContext('2d');
const chart = new Chart(ctx, {
type: 'line',
data: {
datasets: [
{
yAxisID: 'yA',
label: 'Data1',
data: [
{ x: 0.05, y: 12 },
{ x: 0.15, y: 19 },
{ x: 0.25, y: 3 },
{ x: 0.35, y: 5 },
{ x: 0.45, y: 2 },
{ x: 0.55, y: 3 },
],
},
{
yAxisID: 'yB',
label: 'Data2',
data: [
{ x: 0.1, y: 20 },
{ x: 0.2, y: 1 },
{ x: 0.3, y: 15 },
{ x: 0.4, y: 2 },
{ x: 0.5, y: 31 },
{ x: 0.6, y: 11 },
],
}
]
},
options: {
responsive: true,
scales: {
yA: {
type: 'linear',
position: 'left',
ticks: { beginAtZero: true, color: 'blue' },
grid: { display: false }
},
yB: {
type: 'linear',
position: 'left',
ticks: { beginAtZero: true, color: 'green' },
grid: { display: false }
},
x: { ticks: { beginAtZero: true }}
}
}
});
</script>
</body>
</html>
我尝试使用提供的代码在单个 Chart.js 图表中绘制两个数据集。我希望这两个数据集都能在图表上清晰可见。
根据代码片段和所描述的问题,您似乎在使用 Chart.js 图表中的水平(x 轴)标签时遇到了问题。要管理水平轴上的标签,您需要在图表配置中配置比例选项,特别是 x 轴部分。
从您的代码中,我注意到您使用的数据点的 x 值为小数。如果您希望这些在 x 轴上显示为标签,则需要在图表配置的数据对象中指定标签数组。但是,当您不使用时间序列时,Chart.js 期望标签数组与 x 轴标签的数据集处于同一级别。
以下是如何指定标签的高级示例:
data: {
labels: [/* array of labels corresponding to your data points */],
datasets: [/* your datasets here */]
}