基于开源客户端JavaScript的二维数据打印?

基于开源客户端JavaScript的二维数据打印?,javascript,ajax,plot,Javascript,Ajax,Plot,我想知道是否有使用JavaScript在客户端运行的2D图形绘制库?其基本思想是,您可以在浏览器中放置绘图,用户可以更改X和Y比例和限制,放大和缩小,而无需不断从服务器重新加载网页。数据本身将通过AJAX获取,这将允许用户也直接从服务器wget获取数据,如果他们想使用重型工具的话。类似于Python的matplotlib的2D部分 这是我很久以前研究过的东西,当时我认为开发一些在服务器端生成SVG的代码(使用内置的eCos web服务器)更快,但现在我已经阅读了Prototype和jQuery之

我想知道是否有使用JavaScript在客户端运行的2D图形绘制库?其基本思想是,您可以在浏览器中放置绘图,用户可以更改X和Y比例和限制,放大和缩小,而无需不断从服务器重新加载网页。数据本身将通过AJAX获取,这将允许用户也直接从服务器
wget
获取数据,如果他们想使用重型工具的话。类似于Python的
matplotlib
的2D部分


这是我很久以前研究过的东西,当时我认为开发一些在服务器端生成SVG的代码(使用内置的eCos web服务器)更快,但现在我已经阅读了Prototype和jQuery之类的东西,我想知道是否有人已经去做了这件事。

您可能有兴趣尝试一下。Flot是一个纯Javascript的开源绘图库。它在客户端动态生成任意数据集的图形图

首先,请确保检查以下示例,该示例使用通过AJAX获取的数据实时绘制图表:

在代码中,使用AJAX获取和打印数据的方式如下:

function fetchData() {

    function onDataReceived(series) {
        data = [ series ];

        $.plot($("#placeholder"), data, options);
    }

    $.ajax({
        url:      "data_feed.php",
        method:   "GET",
        dataType: "json",
        success:  onDataReceived
    });

    setTimeout(fetchData, 1000);
}
堆栈溢出还将Flot用于用户配置文件的信誉选项卡中的可缩放图表

有关Flot的更多信息:


此网页比较不同的javascript绘图工具


FLOT:

-跨浏览器兼容的JS图表库。

不久前我也在研究这个问题,FLOT一直占据着我的首位,但我不记得为什么了。似乎还有一个Flotr()运行在Prototype上,而不是jQuery上。我知道我可以将原型打包到36k左右,但我不知道jQuery的足迹,所以我还没有确定一个库或另一个库。很高兴看到这两者都有图形选项。jQuery内存是23k gzip并缩小的,而74k刚刚缩小。如果您从Google AJAX库CDN提供jQuery(或prototype),您的大多数用户可能根本不需要下载jQuery,因为它可能已经缓存在浏览器中:。1)您所说的“缩小”是什么意思?我不是用原型做的。2) 无法使用Google,因为它需要完全独立,但感谢您的提示。您可以从下载jQuery 1.4。如果你打开它,你会看到它已经被“压缩”,从源代码中删除了所有不必要的字符和空白。这个缩小版有一个74k的占地面积。如果您的web服务器启用了gzip压缩,您将向浏览器发送23k。+1我非常喜欢Raphael,因为SVG/VML元素只是常规的DOM节点,您可以在事后将事件附加到操纵没有文件;(折线图是我所需要的全部,饼图、条形图和时髦的符号图都是不折不扣的。我还试着看看它是否能做对数标度。)