如何在highcharts中的饼图内动态地将图表标题位置居中

时间:2015-01-08 08:26:34

标签: javascript highcharts alignment title pie-chart

我正在做一个响应式饼图,其中标题位于其中心位置。我已经使用过,

title: {
            text: "",
            margin: 0,
            y:0,
            x:0,
            align: 'center',
            verticalAlign: 'middle',
        },

但它并没有完全集中在图表中。任何建议都会受到赞赏。谢谢你。

以下是链接:http://jsfiddle.net/LHSey/128/

2 个答案:

答案 0 :(得分:3)

最好是删除标题并使用渲染器,它允许添加自定义文本,每次重绘(重绘图表时)都可以重新定位。只有你需要的才能抓住这个事件。

function addTitle() {

        if (this.title) {
            this.title.destroy();
        }

        var r = this.renderer,
            x = this.series[0].center[0] + this.plotLeft,
            y = this.series[0].center[1] + this.plotTop;
        this.title = r.text('Series 1', 0, 0)
            .css({
            color: '#4572A7',
            fontSize: '16px'
        }).hide()
            .add();

        var bbox = this.title.getBBox();
        this.title.attr({
            x: x - (bbox.width / 2),
            y: y
        }).show();
    }

chart:{
    events: {
                    load: addTitle,
                    redraw: addTitle,
            },
} 

示例:http://jsfiddle.net/LHSey/129/

答案 1 :(得分:1)

我们可以使用chart.setTitle()自定义标题的任何属性,如下所示。我已添加标题并将useHTML属性设置为true。

chart: {
            events: {
                    load: function () {
                        this.setTitle({text: 'Title',useHTML:true});
                    } 
            }
    }