【发布时间】:2019-11-05 21:13:05
【问题描述】:
尝试使用 highcharts-export-server 在服务器端渲染甘特图,但根本无法获取要渲染的系列数据。
根据the docs,我尝试运行导出via commandline 和as a node module,但我总是得到一个显示标题、副标题和系列名称的空图,但没有实际数据。
所有基本的折线图示例配置都有效,我可以通过浏览器使用Highcharts.ganttChart 方法渲染图表,所以我相信它特定于导出服务器的甘特图配置,或与毫秒相关日期转换(如您在屏幕截图中所见,X 轴不是呈现为日期,而是呈现为普通数字)。根据其他线程的建议,我在node_modules/highcharts-export-server 中运行build.js,全局用于命令行尝试,本地项目用于节点模块尝试,确保同时启用 gantt 和 moment 库,但这也无济于事。
包括下面我的选项 json。我无法找到专门用于导出服务器的甘特图配置示例,所以这是我最好的插入它们的尝试:
{
"title": {
"text": "Gantt PoC"
},
"subtitle": {
"text": "Timeline"
},
"series": [
{
"name": "Gantt Demo",
"type": "gantt",
"data": [
{
"name": "Demo Task 1",
"id": "demo_task_1",
"start": 1564113600000,
"end": 1564718400000
},
{
"name": "Demo Task 2",
"id": "demo_task_2",
"start": 1564113600000,
"end": 1564718400000
}
]
}
],
"xAxis": {
"min": 1563681600000,
"max": 1571803200000
}
}
如果我的配置有任何明显的问题,如果我错过了准备环境的任何关键步骤,或者你有什么想法可以让我排除故障,请告诉我。谢谢!
【问题讨论】:
-
首先,在安装节点导出服务器时,您可以选择包含甘特模块。您需要它来导出甘特图。其次,您需要使用正确的构造函数。在甘特图的情况下,它是甘特图。尝试使用以下命令:highcharts-export-server --infile gantt.json --outfile gantt.png --type png --constr ganttChart,其中 gantt.json 是正确的 JSON 文件,其中包含所需图表的选项。
-
@pawel_d 感谢您的回复!所以,一定要确保在安装过程中添加甘特图库。对于
--constrarg,我已经看到,在文档上它特别声明它仅适用于“图表”或“股票图表”,但肯定会试一试。另外,您是否碰巧有 gantt.json 的示例,或者验证我帖子中包含的示例是否准确?我搜索了高低,找不到用于导出流程的甘特图配置的任何具体参考。 -
对于 gantt.json 文件,这里有一个最简单的例子:jsfiddle.net/BlackLabel/gk96b41f 从中您可以获取 options 对象并将其用作 JSON 来生成最简单的甘特图。至于您的 JSON 对象,它当然也是正确的(我能够使用它生成正确的图像)。
标签: node.js highcharts gantt-chart