想实现根据时间显示不同活动的日期范围 如图
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<script src="https://code.highcharts.com.c...;></script>
<script src="https://code.highcharts.com.cn/highcharts/highcharts-more.js"></script>
<!-- <script src="https://code.highcharts.com.cn/highcharts/modules/exporting.js"></script> -->
<!-- <script src="https://img.hcharts.cn/highcharts-plugins/highcharts-zh_CN.js"></script> -->
<body>
<div id="container"></div>
<script>
// 图表配置
var options = {
chart: {
type: 'columnrange', // columnrange 依赖 highcharts-more.js
inverted: true
},
title: {
text: '活动上线时间变化范围'
},
subtitle: {
text: '活动上线时间'
},
xAxis: {
categories: ['活动1', '活动2', '活动3']
},
yAxis: {
title: {
text: '时间 ( h )'
}
},
tooltip: {
valueSuffix: 'h'
},
plotOptions: {
columnrange: {
dataLabels: {
enabled: true,
formatter: function () {
return this.y + 'h';
}
}
}
},
legend: {
enabled: false
},
series: [{
name: '温度',
data: [
[1, 2],
[2, 5],
[5, 9],
]
}]
};
// 图表初始化函数
var chart = Highcharts.chart('container', options);
</script>
</body>
</html>
你可能需要根据日期来获取series的值 比如10-20到10-23 那么指定的data就是3
但是对于处在中间的柱状图来说 不太好实现吧 一般都是贴紧左侧的 除非用堆叠图 只不过剩下都是你对数据的操作了