【问题标题】:Exporting a highchart from the cmdline with phantomjs使用 phantomjs 从命令行导出图表
【发布时间】:2014-05-21 19:16:55
【问题描述】:

我正在尝试按照 highchart 网站在此处提供的步骤从命令行导出 highchart 图:http://www.highcharts.com/docs/export-module/render-charts-serverside

它总是因为这个错误而失败:

ReferenceError: Can't find variable: Highcharts

更详细地说,他们给出的步骤如下:

  1. 下载并安装 phantomjs
  2. 将这些文件全部保存到一个位置:highcharts-convert.js、highcharts.js、highcharts-more.js、jquery
  3. 很好。

所以,我按照上述步骤如下所示:

首先,安装phantomjs:

>npm install -g phantomjs

验证安装:

>phantomjs -v
1.9.7

其次,将指定的文件保存在一个位置,您可以在这里看到我有:

>ls

data.js  highcharts-convert.js  highcharts.js    map.js options.json
highcharts-3d.js    highcharts-more.js  jquery.1.9.1.min.js readme.md

第三,我应该可以走了,但是……:

A.他们的示例命令需要一个“options.json”文件来提供选项。我在他们的网站上找不到这方面的文档,但是通过谷歌搜索,我的 options.json 文件如下所示:

>more options.json

{
    "xAxis": {
            "categories": ["Jan", "Feb","Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
    },
    "series": [{
            "data": [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
    }]
}

B.运行 highcharts 页面上提供的示例命令行:

>phantomjs highcharts-convert.js -infile options.json -outfile chart.png -scale 2.5 -width 300

ReferenceError: Can't find variable: Highcharts

 highcharts-more.js:51
ReferenceError: Can't find variable: Highcharts

  data.js:16
ReferenceError: Can't find variable: Highcharts

phantomjs://webpage.evaluate():81
phantomjs://webpage.evaluate():150
phantomjs://webpage.evaluate():150
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
waiting
ERROR: While rendering, there's is a timeout reached

请注意,我还尝试编辑 highcharts-convert.js 脚本以提供 highcharts 和 jquery 文件的完整路径,但这没有帮助。

【问题讨论】:

    标签: highcharts


    【解决方案1】:

    在 highcharts-convert.js 中,您有服务器加载的所有文件的列表,如果您缺少 highcharts-more 和其他文件,您会收到错误。我建议您评论您不使用的文件。

    【讨论】:

    • 您好,您知道为什么我在导出 highchart 服务器端时出现黑色图像吗?我遵循了相同的说明,但我总是有黑色图像,图像中显示均匀的导出按钮
    • 您能否粘贴您的图表配置并告诉我您是否使用样式模式?
    • 嗨塞巴斯蒂安,我实际上解决了这个问题,但我可能需要更多帮助才能将其作为服务,所以我可以发送带有数据和图表创建 JavaScript 文件的请求并将输出图像保存到 S3,你知道如何以简单的方式做到这一点吗?
    • 老实说,我不是服务器开发人员,但您可以从 Highcharts 中提取 SVG(chart.getSVG() 方法),然后将其转换为服务器上的图像,保存。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    • 2018-01-11
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 1970-01-01
    相关资源
    最近更新 更多