我尝试使用本地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
唯一接受的数据类型是一个字符串,但我不确定我是否正确以及如何让它起作用。
有什么想法?感谢帮助!
答案 0 :(得分:1)
首先请注意,constr
和type
不是有效的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'}]}"