Highcharts导出服务器 - 无法使用--options生成图像

时间:2017-10-20 17:49:03

标签: javascript json node.js charts highcharts

我尝试使用本地NodeJS(6.11)服务器和Highcharts export server

生成图像

我使用Highcharts example page中的示例--options参数,您可以在其中使用输入数据。

我已经使用NPM安装了Highcharts导出服务器,在我的项目文件夹中创建了JSON文件,并从Highcharts网站上复制了内容。然后我保存它并在本地服务器上运行以下命令:

highcharts-export-server --outfile output.png --infile input.json

效果很好,并使用图表创建了一个.png文件。

但后来我尝试使用--instr--options标志生成图表,将JSON作为内联选项传递,但我得到的只是一个图表

 **`SyntaxError: Expected token '}'`** 

印在上面。

我在NPM CLI中运行的确切命令如下所示:

highcharts-export-server --outfile chart.png --instr {"constr":"Chart","type":"png","title":{"text":"Steep Chart"},"options":{"xAxis":["categories","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]]},"series":[{"data":[1,3,2,4],"type":"line"},{"data":[5,3,4,2],"type":"line"}]

启用日志并不适合我,因为PhantomJS没有显示任何错误,即使使用详细(4)日志记录模式也是如此。我假设问题可能是,如果JSON是一个对象,而--instr--options唯一接受的数据类型是一个字符串,但我不确定我是否正确以及如何让它起作用。

有什么想法?感谢帮助!

1 个答案:

答案 0 :(得分:1)

首先请注意,constrtype不是有效的Highcharts选项。所有选项及其结构均可在 API https://api.highcharts.com/highcharts/

中找到

确保正确包含所有括号并保留选项结构。 options不是Highcharts选项。您还应该将JSON或JSON数组分配给xAxis属性(不是字符串数组)。

将选项字符串中的所有引号更改为单个引号。使用双引号括起整个字符串。

此代码对我有用:

highcharts-export-server --outfile chart.png --instr "{'title':{'text':'Steep Chart'},'xAxis':{'categories': ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']},'series':[{'data':[1,3,2,4],'type':'line'},{'data':[5,3,4,2],'type':'line'}]}"