笛卡尔轴(Cartesian Axes)
遵循笛卡尔网格的轴被称为“笛卡尔轴”。直角坐标轴用于折线图、条形图和气泡图。 Chart.js 中默认包含四个笛卡尔坐标轴。
通用配置
所有包含笛卡尔轴的图表都支持多种通用选项。
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
type |
String |
图表类型 | |
position |
String |
轴在图表中的位置。可用的值有: 'top' , 'left' , 'bottom' , 'right' |
|
id |
String |
连接数据集和刻度轴的 ID 更多... | |
gridLines |
Object |
网格线配置 更多... | |
scaleLabel |
Object |
刻度文字选项 更多... | |
ticks |
Object |
刻度配置 更多... |
坐标轴刻度选项
以下选项对于所有直角坐标轴是通用的,但不适用于其他坐标轴。
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
autoSkip |
Boolean |
true |
如果为 true,则自动计算可以显示的标签数量并相应地隐藏其他标签。为 false 则任何时候都显示所有的标签。 |
autoSkipPadding |
Number |
0 |
启用autoSkip 时,在水平轴上的刻度之间进行填充。 注意: 仅适用于水平刻度 |
labelOffset |
Number |
0 |
以像素为单位,用于从标记的中心点(x轴的y方向和y轴的x方向)偏移标签。注意: 这可能会导致边缘的标签被canvas边缘裁剪掉 |
maxRotation |
Number |
90 |
刻度标签的最大旋转角度。 注意: 必要时才会发生旋转 注意: 仅适用于水平刻度 |
minRotation |
Number |
0 |
刻度标签的最小旋转。注意:仅适用于水平刻度 |
mirror |
Boolean |
false |
翻转坐标轴上的刻度标签,在图表内显示标签而不是外部。注意:仅适用于垂直刻度 |
padding |
Number |
10 |
在刻度标签和坐标轴之间填充。注意:仅适用于水平刻度 |
坐标轴ID
属性dataset.xAxisID
或dataset.yAxisID
必须与比例属性scales.xAxes.id
或scales.yAxes.id
匹配。尤其是在使用多轴图表时,这些属性尤为重要。
var myChart = new Chart(ctx, {
type: "line",
data: {
datasets: [
{
// 该数据集出现在第一个坐标轴上
yAxisID: "first-y-axis"
},
{
// 该数据集出现在第二个坐标轴上
yAxisID: "second-y-axis"
}
]
},
options: {
scales: {
yAxes: [
{
id: "first-y-axis",
type: "linear"
},
{
id: "second-y-axis",
type: "linear"
}
]
}
}
});
创建多坐标轴
使用笛卡尔坐标轴,可以创建多个X轴和Y轴。 为此,您可以将多个配置对象添加到xAxes
和yAxes
属性。 在添加新坐标轴时,请确保指定新坐标轴的类型,因为在这种情况下,默认类型是 not。
在下面的例子中,我们创建了两个Y轴。然后我们使用yAxisID
属性将数据集映射到正确的坐标轴。
var myChart = new Chart(ctx, {
type: 'line',
data: {
datasets: [{
data: [20, 50, 100, 75, 25, 0],
label: 'Left dataset',
// 将数据集绑定到左侧的y轴
yAxisID: 'left-y-axis'
}, {
data: [0.1, 0.5, 1.0, 2.0, 1.5, 0],
label: 'Right dataset',
// 将数据及绑定到右侧的y轴
yAxisID: 'right-y-axis',
}],
labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
},
options: {
scales: {
yAxes: [{
id: 'left-y-axis',
type: 'linear',
position: 'left'
}, {
id: 'right-y-axis',
type: 'linear',
position: 'right'
}]
}
}
});