【问题标题】:Generate charts without HTML / Browser无需 HTML / 浏览器即可生成图表
【发布时间】:2016-04-23 14:28:30
【问题描述】:

我有一个访问 MySQL 数据库数据的 node.js 应用程序,我想从该数据动态生成图表,通过 HTTP 服务器将其作为图像 (PNG/JPG) 传送给用户。我已经搜索了一段时间,但是如果没有 HTML/canvas 方法,我无法找到一个库来执行此操作。由于我想让服务器进行渲染以使用电子邮件中的图形或动态渲染的 PDF 文件,因此这里不是一个选项。

这里的方法是什么(有或没有图书馆)?

编辑以提供自己的工作证明:我发现https://plot.ly,在使用和结果方面非常接近满足我的需求,但需要互联网连接,因为它调用远程 API。

【问题讨论】:

  • 明显偏离主题(阅读How to Ask)。为什么有人会赞成这个?
  • 我编辑了这个问题,让路过的用户更清楚这是一个真实的问题,而不是图书馆的请求。
  • 为什么不能选择画布?您可以在画布上渲染并获取图像数据以发送到客户端或保存在服务器上以供以后在 pdf 或其他文件中使用。
  • 您可以使用 python 进行图表渲染。看看这个线程:stackoverflow.com/questions/10775351/…
  • 你可以为节点尝试一个图表包装器:github.com/panosoft/node-chartist

标签: javascript node.js charts


【解决方案1】:

图表库chartist 有一个node wrapper。您可以使用此库生成 SVG,并使用 svg2png 库转换为 PNG。

【讨论】:

    【解决方案2】:

    嗯,有多种选择,我会使用 phantomjs(无头 Webkit 浏览器)来呈现图表。

    为什么这个选项很好?原因之一是您不需要服务器端和客户端编码的重复代码,您可以简单地重用代码。在服务器端创建一个包含所需脚本和数据的 html 文件并呈现它。

    【讨论】:

      【解决方案3】:

      您也可以尝试在Software Recs Stack Overflow 中提问。但似乎可以满足您需求的一种选择是ZingChart

      他们有一个phantomJS build 用于呈现图表的静态版本。此外,许可用户可以访问用于服务器端图表的 Node.js 构建。

      完全披露,我是 ZingChart 团队的一员,如果我能帮助您检查所有选项,请告诉我。

      【讨论】:

        猜你喜欢
        • 2013-04-10
        • 2012-07-13
        • 2012-07-07
        • 1970-01-01
        • 2019-09-12
        • 2020-12-22
        • 2021-02-09
        • 1970-01-01
        • 2018-09-27
        相关资源
        最近更新 更多