我正在研究一个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,但我认为它有效。