动态更新网页上的图表 - howto?

时间:2008-11-25 07:56:02

标签: ajax flash

我需要了解使用动态更新的图表设计网页的好方法。它应该接近股市图表的样子(例如Google Finance),虽然功能稍微复杂一些,但这不是重点。当然我正在考虑编写一个ajaxy风格的flash控件,它可以通过XMLHttpRequest之类的东西与服务器进行通信,但是可以在flash代码中进行通信,并根据收到的数据进行绘制。这可以用闪光灯吗?安全模型是否允许这种客户端 - 服务器交互?如果是的话,您能否想到我的任何参考资料(类似的开源项目,文章,等等)?或者我应该忘记flash并立即使用Java applet?

需要注意的一点是:我认为我不能使用Google图表API,因为我还需要进行用户互动。在Google财经上方的链接中,用户可以使用鼠标来回拖动图形,这与我需要的一样(我还需要从下拉菜单中实现一些操作)。

感谢您的回答和意见!

5 个答案:

答案 0 :(得分:4)

试试这个:JQuery Flot

Flot是一个用于绘制图形的JQuery插件。您可以使用所需频率的最新数据就地重新绘制,以生成动态更新的图形。它基于< canvas>标签。我们成功地使用它在我们的应用程序中生成非常复杂的动态更新图形通过定期AJAX调用获取更新。

另一种选择是YUI Charts

我们没有对此进行过多次探索,但这会像你想要的那样使用Flash和AJAX。

/ RS

答案 1 :(得分:2)

我使用Google Charts API来做这件事。有关简单示例,请参阅我的Sunrise and Sunset页面。此页面计算给定纬度和经度的日出和日落时间,所有这些都在Javascript中,然后使用Google Chart API将页面上的图形替换为所请求的数据。

更新:Stack Overflow信誉图表(请参阅您的用户页面)不是Flash,但允许交互式拖动。 (单击并向左拖动以更新右侧反映突出显示的声誉区域的帖子。)或许您可以查看如何实现。

答案 2 :(得分:1)

您已经描述过Flex ...

答案 3 :(得分:1)

这在闪光灯中非常有用。 您可以使用URLLoader类在运行时从服务器获取数据,并使用自定义控件绘制图形。在actionscript3中,你将继承Shape类并编写一些绘图代码来绘制图形。 Flash支持绘图和填充,所以它可能非常好。

Flash客户端可以轮询服务器以获取更新。或者,如果您想要“实时”连接,则可以建立与服务器的套接字连接,并让服务器实时更新数据。 Flash是有用的,因为您可以通过套接字推送XML数据并使用内置的支持来处理XML,或者您可以轻松地发送二进制数据。

至于安全模型,它只是标准的闪存模式。您可以将网络连接返回到swf文件来自的服务器,没有任何问题。如果要与其他服务器建立连接,则该服务器需要通过托管crossdomain.xml文件为您的客户端提供连接权限

答案 4 :(得分:0)

我不确定Flash的一面,但在Silverlight中这很简单。我很确定您也可以轻松地在Flash中发出服务器请求。

我会做一些长时间的民意调查。