我有一个node.js应用程序访问MySQL数据库的数据,我想动态生成该数据的图表,通过HTTP服务器将其作为图像(PNG / JPG)传递给用户。我现在已经搜索了一段时间,但是如果没有HTML / canvas方法,我无法找到这样做的库。由于我想让服务器进行渲染以在电子邮件中使用图形或动态渲染PDF文件,因此这不是一个选项。
这里的方法是什么(有或没有库)?
编辑以提供自己的工作证明:我发现https://plot.ly,这在使用和结果方面非常接近满足我的需求,但需要互联网连接,因为它调用远程API。
答案 0 :(得分:9)
您也可以尝试在Software Recs Stack Overflow中询问此问题。但似乎可以满足您需求的一个选项是ZingChart。
他们有phantomJS build用于渲染图表的静态版本。此外,许可用户可以访问Node.js构建以进行服务器端图表。
完全披露,我在ZingChart团队,所以如果我可以帮助您审核所有选项,请告诉我。
答案 1 :(得分:2)
图表库node wrapper有chartist。您可以使用此库生成SVG,并使用svg2png lib转换为PNG。
答案 2 :(得分:2)
那么有多种选择,我会使用phantomjs(无头Webkit浏览器)来渲染图表。
为什么这个选项会好?其中一个原因是您不需要重复的代码用于服务器和客户端编码,您可以简单地重用代码。在服务器端创建一个包含所需脚本和数据的html文件并进行渲染。