Highcharts服务器端图像生成,如何在回调参数中设置图例labelFormatter

时间:2015-04-21 13:19:20

标签: javascript jquery json highcharts phantomjs

我正在处理PDF文件生成器,用户使用Highcharts服务器端图像来填充文档中的图形信息。

http://www.highcharts.com/docs/export-module/render-charts-serverside

一切都很好,我会自定义我的高保真图例,在图表的底部每行获得一个图例。 因为服务器端生成使用JSON格式,我无法设置" legend.labelFormatter"回调以在每个图例后强制断行。

源代码的自述文件中有一个简单的例子,但我无法满足我的需求。 (https://github.com/highslide-software/highcharts.com/tree/master/exporting-server/phantomjs

自述文件例如:

function(chart) {
    chart.renderer.arc(200, 150, 100, 50, -Math.PI, 0).attr({
        fill : '#FCFFC5',
        stroke : 'black',
        'stroke-width' : 1
     }).add();
}

我自己的回调

function(chart){

    console.log('COOL!');

    chart.legend.labelFormatter = function () {


        console.log('COOL 2!');


        return this.name + "\n";
    };

    chart.redraw();

}

1 个答案:

答案 0 :(得分:1)

我认为有两种解决方案(至少)可以满足您的需求:

  • 使用labelFormat代替labelFormatter,请参阅API。在您的情况下:labelFormat: "{name}\n" - 赢得了工作
  • 使用layout选项将图例渲染为垂直。再次,请参阅API
  • 为图例demo设置固定width

无论如何,您是否尝试过使用labelFormatter?我知道它的JSON,但我认为它有效。