Highcharts服务器端图像生成,如何在回调参数中设置图例标签格式化程序



我正在研究一个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();
}

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

  • 使用 labelFormat 而不是 labelFormatter ,请参阅 API。在您的情况下:labelFormat: "{name}n" - 不起作用
  • 使用layout选项将图例呈现为垂直。同样,请参阅 API。
  • 为图例、演示设置固定width

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

最新更新