2010-08-24 98 views
1

是否有任何文档可用于构建Flot图表,类似于我们可以在Stack Overflow profile/reputation选项卡中找到的内容?堆栈溢出信誉图文件(Flot)

从源代码中,我可以看到,数据查询地址为:/users/rep-graph/341106/" + ranges.xaxis.from.toFixed(1) + "/" + ranges.xaxis.to.toFixed(1)但我不知道在URL可以接受的价值观fromto领域

EDIT

alt text

在该图中,我们可以看到,两个点被突出显示,并且结果是两个问题都被列在侧,这意味着所绘制的值与用户定义的数据连接。

但是,如果我认为PKH的例子中,只有(和标签)提供给海军报:

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

所以我想看看:

  1. 如何链接数据与点
  2. 如何根据图选择更新面板[但也许这部分实际上不是由Flot本身完成]

回答

2

在这种情况下,他们正在传递JavaScript时间戳通过URL回来。

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

//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 

为了您的第二个问题,有你的服务器端返回的关联数组,时间戳链接到一个数据对象,在这种情况下包含收益,损失,网址,标题。在成功回调中,您可以显示它们。下面是一个示例数据对象:

{ 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事件凸显了给定的数据点时,单击它。

+0

谢谢,所以我可以用http://stackoverflow.com//users/rep-graph/341106/1273947200000/1274947200000 :)得到一个'活'的例子:) – Kevin 2010-08-28 14:19:45

1

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

rangesplotselected处理程序的参数,所以fromto可以是给定轴的任何有效值。 (精选可以沿着X,Y,或(x和y)轴。)

+0

谢谢;实际上我已经看到了这些例子,但不幸的是,他们中没有人谈论与图的值相关的数据 – Kevin 2010-08-24 19:24:28

+0

在那种情况下,我不明白这个问题。你能澄清你发现不清楚的是什么吗? – pkh 2010-08-24 20:41:10