是否有任何可用于构建Flot图的文档,类似于我们在Stack Overflow profile/reputation选项卡中可以找到的内容?
从源代码我可以看到在此地址查询数据:/users/rep-graph/341106/" + ranges.xaxis.from.toFixed(1) + "/" + ranges.xaxis.to.toFixed(1)
但我不知道URL中的值from
和to
字段 / strong>可以接受。
修改:
在此图中,我们可以看到两个点突出显示,结果是侧面列出了两个问题,这意味着绘制的值与 user-链接定义数据。
但是,如果我考虑pkh的例子,只有 points (和一个标签)被提供给Flot:
label: "United States",
data: [[1990, 18.9], [1991, 18.7] ....
所以我想看看:
答案 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。
ranges
是plotselected
处理程序的参数,因此from
和to
可以是给定轴的任何有效值。 (选择可以沿x,y或(x和y)轴。)