echars 时间堆积柱状图 y轴为24小时 八点到十点之间的怎么显示
时间: 2024-03-21 15:41:10 浏览: 85
要显示八点到十点之间的时间堆积柱状图,可以按照以下步骤操作:
1. 将时间按小时分组,例如可以使用 `moment.js` 库将时间转换成小时格式。
2. 将八点到十点之间的小时标记为有效数据,其他小时标记为无效数据。
3. 在 Echarts 中使用堆积柱状图,将每个小时的有效数据叠加在一起,形成堆积柱状图。
4. 在 y 轴上设置 24 小时的刻度,使用时间格式显示标签。
下面是一个示例代码,可以根据实际情况进行修改:
```javascript
// 时间数据
var data = [
{ time: '2022-01-01 06:00:00', value: 10 },
{ time: '2022-01-01 07:00:00', value: 20 },
{ time: '2022-01-01 08:00:00', value: 30 },
{ time: '2022-01-01 09:00:00', value: 40 },
{ time: '2022-01-01 10:00:00', value: 50 },
{ time: '2022-01-01 11:00:00', value: 60 },
];
// 将时间按小时分组
var hours = [];
var values = [];
data.forEach(function (item) {
var hour = moment(item.time).hour();
if (hours.indexOf(hour) == -1) {
hours.push(hour);
values[hour] = 0;
}
values[hour] += item.value;
});
// 将八点到十点之间的小时标记为有效数据
var startIndex = hours.indexOf(8);
var endIndex = hours.indexOf(10);
for (var i = 0; i < startIndex; i++) {
values[i] = 0;
}
for (var i = endIndex + 1; i < hours.length; i++) {
values[i] = 0;
}
// 在 Echarts 中使用堆积柱状图
var option = {
xAxis: {
type: 'category',
data: hours.map(function (hour) { return hour + ':00'; }),
},
yAxis: {
type: 'value',
max: 24,
axisLabel: {
formatter: function (value) { return value + ':00'; },
},
},
series: [{
type: 'bar',
stack: 'stack',
data: values,
}],
};
```
在这个示例中,我们使用 `moment.js` 库将时间转换成小时格式,然后将八点到十点之间的小时标记为有效数据,其他小时标记为无效数据。最后在 Echarts 中使用堆积柱状图,将每个小时的有效数据叠加在一起,并在 y 轴上设置 24 小时的刻度,使用时间格式显示标签。
阅读全文