混合服务器端java和客户端javascript图表库
Hybrid server-side-java and client-side-javascript charting library?
在Java和Javascript中是否有一个库可以为相同的数据生成相同的图表?
我的任务是:
- 显示一些华丽的动态图表在浏览器,更好的动态工具提示,缩放等(我认为Javascript在这里) 并在服务器端生成相同的(或足够相似的)图表,在Java中,自动发送它们在电子邮件(在这种情况下根本没有浏览器)。
我想避免Flash与iPhone的互操作性。
有一些静态的服务器端图表,如Eastwood/JFreeChart,但我想让它在浏览器中更活跃。
是的,我可以通过Ajax重新加载静态图像。还有其他选择吗?
为什么这个问题已经存在一年多了,但还没有答案?我建议采用一种相当可疑的、有点硬核的方法。
使用JavaScript,这太棒了!
你的成功公式:d3.js
+
jsdom
+
Rhino
+
Batik
使用一些光滑的JavaScript库如d3.js生成图形。
使用jdom运行d3服务器端。Jsdom是一个纯JS库,d3是在它的基础上工作的。
在Rhino中运行jdom和d3, Rhino是一个JavaScript引擎,从1.6版本起就嵌入到你心爱的JVM中(JSR-223!)尽管如此,我还是建议您将其更新到最新版本(它位于Maven Central上,非常棒!)。我猜Node.JS可以做得更好,但我假设你被Java困住了。
还要注意,有一个更老的、更成熟的、特定于Rhino的服务器端DOM实现——EnvJs (需要Rhino 1.7R2,而不是R3)。如果jsdom不适合你,你可以试试。
使用Batik栅格化d3生成的SVG。Batik甚至支持通过Rhino在SVG内编写脚本。这意味着如果您愿意,可以在服务器端生成交互式图表。我也在实践中使用它,并有很好的经验。
整个方法是已知的工作服务器端与Node.JS作为JS引擎和ImageMagick作为光栅化器,但我看没有理由为什么它不会为你工作。
顺便说一下,如果你想让它运行,请告诉我。
请原谅我回复得太晚了,但是使用Highcharts怎么样?我正在寻找为您提供更多信息的链接,因为我正在打字,但Highcharts提供了服务器端"导出"功能。它的基本功能是允许你在不需要浏览器的情况下下载图像的副本。
我实现了这个功能,这样我就可以接受请求参数,查询数据存储,使用Highcharts将这些数字绘制成所需的图形,并将这些结果嵌入到电子邮件中(当然,还可以将电子邮件发送给收件人)。
更多信息在这里:http://www.highcharts.com/component/content/article/2-articles/news/52-serverside-generated-charts
和
: https://github.com/one2team/highcharts-serverside-export
- 如何使用Javascript客户端对象模型检索Sharepoint 2010列表项权限
- 从javascript客户端验证REST服务
- 无法使用javascript客户端访问远程web服务
- 在javascript客户端和java服务器之间共享Google Analytics ClientID
- 应用程序引擎终结点:用于OAuth2授权的Javascript客户端库需要多个弹出窗口
- 使用Javascript客户端进行REST基本身份验证的安全缺陷是什么(如果有的话)
- 如何从Python服务器获取到Javascript客户端
- 在Javascript客户端中隐藏基本的身份验证凭据
- Postback与Javascript客户端计算
- 有没有办法使用Google's Javascript客户端登录时没有弹出窗口
- javascript客户端ORM的框架
- 如何使用javascript客户端设置Python服务器端
- Firebase服务器发送事件-如何构建Java/JavaScript客户端
- Javascript客户端从ASP.NET MVC后端延迟加载模型
- 当将从javascript客户端调用javaapi时,在javaapi中使用2d数组
- javascript客户端中的服务器端数据绑定
- 在javascript(客户端)中跨多个窗口共享数据
- Javascript客户端提供哪些数据库,不包括特定于浏览器的数据库
- 如何将Node.js服务器数据发送到Javascript客户端
- javascript客户端安全性