我正在研究提供几种可视化大量数据的方法。这可能包括但不限于简单的图形。我正在探索的技术将涉及形状,文本和线条。它还涉及与元素(隐藏,聚焦等)和动画(移动,拖动,系统重组等)的交互。
SVG或Canvas似乎是明显的选择(与JS库结合 - 可能是jQuery),但缺乏跨浏览器可用性是一个问题。我更喜欢以避免Flash / Flex,但是现在它是我发现的唯一坚如磐石的跨浏览器技术,如果需要支持IE7 / 8。
是否有人有任何其他建议或任何其他信息可以使我列出的技术看起来更具吸引力?
感谢。
答案 0 :(得分:2)
查看原始Processing.org。
他们使用Java小程序可能看起来很奇怪/不合时宜,但他们能够使用Java获得比JavaScript更好的性能。 applet似乎无处不在,你可以访问许多优秀的Java库。
答案 1 :(得分:2)
不要以为我看到了这个提到的那个:JavaScript InfoViz Toolkit
我个人喜欢的一个有趣的可视化是treemap view。非常适合在单个视图中汇总大量数据。
答案 2 :(得分:1)
HighCharts是一个Javascript,优秀,免费和跨浏览器的图表工具。
答案 3 :(得分:1)
除IE之外的所有内容都可以使用SVG,IE上可以使用VML(从5.5,IIRC开始)。如果您可以同时提供SVG和VML,那么您将拥有几乎每个人都可以看到的矢量图形。 RaphaelJS是一个Javascript库,可以从相同的Javascript代码生成两种格式,但当然这只是一种方法。
除了IE之外,Canvas几乎可用于所有内容,但有些疯狂的人写了一些名为excanvas的东西,再次模仿Canvas,VML。从使用它的朋友和同事那里,我听说性能比任何其他浏览器图形解决方案都差,但如果你想要便携式地进行位图图形,它几乎是城里唯一的非插件游戏。 / p>
您采用的路线 - 矢量或光栅 - 实际上取决于您的应用。
答案 4 :(得分:1)
您可能需要查看Raphael和GRaphael。 Raphael允许您创建矢量图形,并将在支持SVG的浏览器上使用SVG,同时在IE上自动切换到VML。
您还可以查看基于画布的processing.js。
答案 5 :(得分:1)
您也可以尝试Protovis。 (http://vis.stanford.edu/protovis/)
答案 6 :(得分:0)
SVG和Canvas适用于相对简单的数据(即几行就足够了)。对于复杂数据(例如,频率分布,或每个像素发出一个样本的东西),您应该在服务器上渲染一个普通图像。
答案 7 :(得分:0)
如果您使用jquery进行图形处理,我肯定会查看Flot这是跨浏览器图形/图表库。