我有我的导出服务器启动并正在运行,用于在服务器上生成所有图表。我遇到的一个问题是数据标签。如果我使用格式,它工作正常,但我需要格式化程序,它似乎没有被调用。这是我的选项的相关部分:Highcharts用于导出服务器的数据标签格式化程序
dataLabels: {
enabled: true,
color: '#606060',
align: 'right',
//format:'{point.y:.0f}',
formatter:function(){
var val = this.y;
return val/1000000 + 'M';
},
由于该值只是正常显示,看起来该函数不会被调用。当我在客户端上使用这些确切的选项时,它工作正常。这不可能吗?
更新: 我有我自己的导出服务器(highcharts-converter.js),因为我在服务器上使用phantomjs执行此操作。我所做的是从另一个服务获取数据,然后像在客户端上那样构建infile。我遇到的问题是1.在infile上执行JSON.stringify,摆脱格式化函数。 2.如果我使函数字符串不起作用,或者因为我必须为highcharts phantomjs调用Web服务。这意味着配置会自动转换为JSON,而当转换器执行JSON.parse时,函数仍然是字符串。不知道是否需要更改highcharts-convert.js以某种方式将其重新转换为函数,但由于它位于单独的进程(phantomjs子进程)上,因此无法弄清楚如何调试该文件。已经尝试过所有我能想到的事情来解决这个问题,但目前为止还没有运气。
ALSO: 因为函数是一个字符串highcharts抛出这个错误: 类型错误:“未定义”不是(评估“axis.labelFormatter.call”)
这一权利使用Highcharts出口服务器,它的工作原理是:http: //jsfiddle.net/0gt60Lrx/1/,你能创建一个可重复的例子吗? – Mark 2014-11-23 15:29:41