【发布时间】:2016-11-07 09:14:18
【问题描述】:
我正在使用 highcharts 和 phantomjs 服务器来渲染图表和标签,但是渲染标签时的 useHTML 标志似乎不起作用。我按照文档中的说明启动了服务器 phantomjs highcharts-convert.js -host 127.0.0.1 -port 3003
然后我发送 post 请求,并将以下内容作为 infile
{
chart: {
events: {
load: function() {
var label = this.renderer.label('Hello World', useHTML=true)
.css({
color: '#FF11FF',
fontSize: '12px'
})
.attr({
fill: 'rgba(0, 0, 100, 0.75)',
padding: 8,
r: 5,
zIndex: 6
})
.add()
box = label.getBBox();
label.align(Highcharts.extend(box, {
align: 'center',
verticalAlign: 'top',
x: 0,
y: 20
}),
null, 'spacingBox');
var label2 = this.renderer.label('Goodbye World')
.css({
color: '#222222'
})
.add()
label2.align(Highcharts.extend(label2.getBBox(), {
align: 'left',
verticalAlign: 'top',
x: 0,
y: box.height + 40
}),
null, 'spacingBox');
}
},
height: 800,
width: 500
},
title: {
text: ''
}
};
然后我将其导出为 svg,但标签的文本会按原样打印。我也试过了
var label = this.renderer.label('Hello World',null, null, 'rect', null, null, true)
但这会导致第一个文本根本不显示,添加了蓝色背景,第二个文本也是如此,但不是第一个文本。第一个甚至不在 export.highcharts.com 上工作,但第二个在那里工作正常。我在这里做错了什么?
【问题讨论】:
标签: javascript svg highcharts