echart柱状图指定一条x坐标线加粗
时间: 2023-11-17 09:17:52 浏览: 200
要让 Echarts 柱状图上指定一条 x 坐标轴线加粗,可以使用 `xAxis.axisLine` 和 `xAxis.splitLine` 属性来实现,具体如下:
```javascript
option = {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
axisLine: {
onZero: false, // 关闭坐标轴0刻度线
lineStyle: {
color: '#aaa' // 设置坐标轴线颜色
}
},
splitLine: { // 设置分隔线
show: true,
lineStyle: {
color: '#aaa' // 设置分隔线颜色
}
}
},
yAxis: {
type: 'value'
},
series: [{
data: [120, 200, 150, 80, 70, 110, 130],
type: 'bar'
}]
};
```
在上述代码中,我们先设置了 `xAxis.axisLine` 属性的 `onZero` 为 `false`,这样就关闭了坐标轴 0 刻度线,以免影响我们后续的样式设置。然后在 `xAxis.axisLine` 属性中设置 `lineStyle`,可以设置坐标轴线的颜色。接着,我们使用 `xAxis.splitLine` 属性来设置分隔线的样式,这里我们将其设置为显示状态,并设置了颜色。
接下来,我们需要找到我们要加粗的 x 坐标轴线的索引,比如我们要加粗第二个坐标轴线,那么可以使用下面的代码来实现:
```javascript
option = {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
axisLine: {
onZero: false,
lineStyle: {
color: '#aaa',
width: 1 // 设置坐标轴线宽度为1
}
},
splitLine: {
show: true,
lineStyle: {
color: '#aaa'
}
}
},
yAxis: {
type: 'value'
},
series: [{
data: [120, 200, 150, 80, 70, 110, 130],
type: 'bar'
}]
};
// 获取 x 坐标轴的 axis 对象
var xAxis = myChart.getModel().getComponent('xAxis').axis;
// 获取第二个坐标轴线的索引
var lineIndex = xAxis.getBandWidth() * 2;
// 设置第二个坐标轴线的样式
xAxis.axisLine.lineStyle = {
color: '#aaa',
width: 3 // 设置坐标轴线宽度为3
};
// 设置第二个坐标轴线的分隔线样式
xAxis.splitLine.lineStyle = {
color: '#aaa'
};
// 更新图表
myChart.setOption(option);
```
在上述代码中,我们首先通过 `myChart.getModel().getComponent('xAxis').axis` 获取了 x 坐标轴的 `axis` 对象,然后计算出了第二个坐标轴线的索引,这里我们将其设置为 `xAxis.getBandWidth() * 2`,也就是第二个类目的左边缘。接着,我们通过 `xAxis.axisLine.lineStyle` 和 `xAxis.splitLine.lineStyle` 分别设置第二个坐标轴线和分隔线的样式,这里我们将第二个坐标轴线的宽度设置为 3 像素。最后,我们调用 `myChart.setOption(option)` 更新图表。
阅读全文