Stack Overflow信誉图(Flot)的文档

时间:2010-08-24 12:50:02

标签: javascript flot graphing stackexchange-api

是否有任何可用于构建Flot图的文档,类似于我们在Stack Overflow profile/reputation选项卡中可以找到的内容?

从源代码

我可以看到在此地址查询数据:/users/rep-graph/341106/" + ranges.xaxis.from.toFixed(1) + "/" + ranges.xaxis.to.toFixed(1)但我不知道URL中的值fromto字段 / strong>可以接受。

修改

alt text

在此图中,我们可以看到两个点突出显示,结果是侧面列出了两个问题,这意味着绘制的值与 user-链接定义数据

但是,如果我考虑pkh的例子,只有 points (和一个标签)被提供给Flot:

label: "United States",
        data: [[1990, 18.9], [1991, 18.7] ....

所以我想看看:

  1. 如何将数据与积分相关联
  2. 如何根据图表选择更新面板[但这个部分实际上并不是由Flot本身完成]

2 个答案:

答案 0 :(得分:2)

在这种情况下,他们通过URL传回Javascript时间戳。

所以在后端方面,他们必须做这样的事情(伪代码):

//get parameters from URL, non-rails people would just use POST or GET variables
$from = $_GET['from']
$to = $_GET['to']

//convert to timestamps in your language
$from = $from/1000
$to = $to/1000

//query your data source with these time-based restrictions
//return a JSON data set with the given restrictions, linking the known timestamps to labels

对于第二个问题,让服务器端返回一个关联数组,将时间戳链接到数据对象,在这种情况下包含Gain,Loss,Url,Title。在成功回调中,您将显示它们。这是一个示例数据对象:

{ 1274774400000 : {
       Gain:0,
       Loss:10,
       Url:'http://asdf.com',
       Title:'We lost some rep here... boohoo'
    },
  1274947200000 : {
       Gain:10,
       Loss:0,
       Url:'http://asdf.com',
       Title:'We gained some rep here... woo!'
    }
}

您可以在您引用的页面中看到showReputation函数中使用的此类对象...除了它们返回的是JSON数组而不是对象。

在给定上述数据对象的情况下,您可以轻松添加的另一个功能:plotclick事件,在单击它时突出显示给定的数据点。

答案 1 :(得分:1)

看起来他们正在使用flot的选择插件。这是一个basic example of its use

rangesplotselected处理程序的参数,因此fromto可以是给定轴的任何有效值。 (选择可以沿x,y或(x和y)轴。)