高图热图中缺少序列名称作为标签

时间:2018-11-29 08:21:40

标签: highcharts

我使用热图创建了一个日历,如下所示:

日历屏幕:

enter image description here

轴类型是类别,因此月份被放置为具有各自偏移量的块在矩阵中。每个月都定义为带有名称的系列。

现在我的问题是,我想在块上方显示月份名称。但是,我找不到显示序列名称的方法。他只是被忽略了。 x轴仅显示类别的索引。我不能使用这个。数据标签包含热图的颜色值。 我目前的解决方法是将月份名称插入为PlotLine。但这不是要走的路。尤其是由于定位与月度区块无关,因此容易出错。

series: [{
    name: 'January',
    keys: ['x', 'y', 'value'],
    data: [...]
}, ...next month...]

jsFiddle example

1 个答案:

答案 0 :(得分:0)

您可以使用Highcharts.SVGRenderer将系列名称添加为计算位置的文本:

    events: {
        load: function() {
            var series = this.series,
                bbox;

            series.forEach(function(s) {
                bbox = s.group.getBBox(true);
                this.renderer.text(
                        s.name,
                        bbox.x + this.plotLeft + bbox.width/2,
                        bbox.y + this.plotTop - 10
                    )
                    .attr({
                        align: 'center'
                    })
                    .css({
                        color: 'black',
                        fontSize: '12px'
                    })
                    .add();
            }, this);
        }
    }

实时演示:https://jsfiddle.net/BlackLabel/zypnwq50/

API参考:https://api.highcharts.com/class-reference/Highcharts.SVGRenderer#text