我将 highcharts-convert.js 与 phantomjs 一起使用,并且在导出图表时遇到了一些文本重叠问题。
我相信原因是 OSX 上的 Chrome 呈现字体的方式与我的 ubuntu 服务器不同。因此,当客户端的浏览器构建 SVG 时,文本不会重叠(我确实通过捕获 POST 并在 Chrome 中呈现 svg 来确认这一点),但是当 phantomjs 在 ubuntu 上呈现文本时,它会稍微宽一些,因此存在重叠。
我相信如果我导出选项 JSON 而不是 SVG,ubuntu 会根据自己的字体渲染来布局文本,不会有任何重叠。
那有意义吗?如果是这样,我怎样才能让 highcharts 发布选项 JSON 而不是 SVG?
我有这个过程,我可以用它来装配所有东西,但感觉应该有更好的方法......
var chart = graphContainer.find(".graph-body div").highcharts();
var chartOptions = chart.options;
delete chartOptions.chart["renderTo"]; // this creates a circular reference
// provide extra options to override the chart's defaults here...
$.extend(chartOptions.chart, {backgroundColor: "#FFFFFF", spacingLeft: 30, spacingRight: 30});
// wrap this up and POST it to the server...
console.log(JSON.stringify(chartOptions));