Highcharts热力图单元格未显示颜色问题求助
Highcharts热力图单元格无颜色的问题修复
问题核心原因
你的热力图未渲染出单元格颜色,主要是缺少y轴方向的单元格尺寸配置(rowsize)。热力图需要同时定义colsize(x轴方向单元格宽度)和rowsize(y轴方向单元格高度),才能划分出可填充颜色的单元格区域。此外,原代码中用于tooltip的getPointCategoryName函数不适用于datetime类型坐标轴(该轴没有categories属性),会导致提示内容显示异常。
修复方案
- 在series配置中添加
rowsize: 24 * 36e5,和已有的colsize保持一致,对应一天的毫秒数,确保y轴方向的单元格能正确划分。 - 替换tooltip的formatter函数,使用
Highcharts.dateFormat格式化datetime类型的坐标轴值,替代无效的getPointCategoryName函数。
修正后的完整代码
Highcharts.chart('container', { chart: { type: 'heatmap', marginTop: 40, marginBottom: 80, plotBorderWidth: 1 }, xAxis: { type: 'datetime', min: Date.UTC(2023, 9, 1), max: Date.UTC(2023, 9, 5), labels: { align: 'center' } }, yAxis: { type: 'datetime' }, colorAxis: { min: 0, minColor: '#FFFFFF', maxColor: Highcharts.getOptions().colors[0] }, legend: { align: 'right', layout: 'vertical', margin: 0, verticalAlign: 'top', y: 25, symbolHeight: 280 }, tooltip: { formatter: function() { const xDate = Highcharts.dateFormat('%Y-%m-%d', this.point.x); const yDate = Highcharts.dateFormat('%Y-%m-%d', this.point.y); return `<b>${xDate}</b> sold <br><b>${this.point.value}</b> items on <br><b>${yDate}</b>`; } }, series: [{ data: [ [Date.UTC(2023, 9, 1), Date.UTC(2023, 9, 1), 15], [Date.UTC(2023, 9, 1), Date.UTC(2023, 9, 2), 30], [Date.UTC(2023, 9, 1), Date.UTC(2023, 9, 3), 45], [Date.UTC(2023, 9, 1), Date.UTC(2023, 9, 4), 60], [Date.UTC(2023, 9, 1), Date.UTC(2023, 9, 5), 75], [Date.UTC(2023, 9, 2), Date.UTC(2023, 9, 1), 0], [Date.UTC(2023, 9, 2), Date.UTC(2023, 9, 2), 15], [Date.UTC(2023, 9, 2), Date.UTC(2023, 9, 3), 30], [Date.UTC(2023, 9, 2), Date.UTC(2023, 9, 4), 45], [Date.UTC(2023, 9, 2), Date.UTC(2023, 9, 5), 60], [Date.UTC(2023, 9, 3), Date.UTC(2023, 9, 1), 0], [Date.UTC(2023, 9, 3), Date.UTC(2023, 9, 2), 0], [Date.UTC(2023, 9, 3), Date.UTC(2023, 9, 3), 15], [Date.UTC(2023, 9, 3), Date.UTC(2023, 9, 4), 30], [Date.UTC(2023, 9, 3), Date.UTC(2023, 9, 5), 45], [Date.UTC(2023, 9, 4), Date.UTC(2023, 9, 1), 0], [Date.UTC(2023, 9, 4), Date.UTC(2023, 9, 2), 0], [Date.UTC(2023, 9, 4), Date.UTC(2023, 9, 3), 0], [Date.UTC(2023, 9, 4), Date.UTC(2023, 9, 4), 15], [Date.UTC(2023, 9, 4), Date.UTC(2023, 9, 5), 30], [Date.UTC(2023, 9, 5), Date.UTC(2023, 9, 1), 0], [Date.UTC(2023, 9, 5), Date.UTC(2023, 9, 2), 0], [Date.UTC(2023, 9, 5), Date.UTC(2023, 9, 3), 0], [Date.UTC(2023, 9, 5), Date.UTC(2023, 9, 4), 0], [Date.UTC(2023, 9, 5), Date.UTC(2023, 9, 5), 15], ], colsize: 24 * 36e5, rowsize: 24 * 36e5, // 添加y轴方向单元格尺寸 dataLabels: { enabled: true, color: '#000000' } }] });
内容的提问来源于stack exchange,提问作者Francesco Gallarotti
相关产品推荐
相关产品推荐

