如何在Flot中通过JSON添加Dynamics Ticks?

时间:2012-11-22 05:49:48

标签: javascript jquery flot

我想将X轴值从默认值更改为从JSON传递的Dynamic Ticks。

通过我的上一篇文章How to plot time values in Flot Graph,我发现可以通过Categories.js

我添加了JS并修改了以下格式的My JSON,与示例中给出的格式相匹配。

  [{"data":[["Over Time",5202]],"label":"Over Time"},{"data":[["Shift Start",19620]],"label":"Shift Start"},{"data":[["Maintenance break",82920]],"label":"Maintenance break"},{"data":[["Lunch break",240]],"label":"Lunch break"},{"data":[["BreakDown",75720]],"label":"BreakDown"},{"data":[["Break",3060]],"label":"Break"},{"data":[["Tea break",72840]],"label":"Tea break"}]

和我的JS代码

  <script language="javascript" type="text/javascript">  
$(document).ready(function(){
$.getJSON('ReasonByTime.txt', function(json) {
    $.plot($("#placeholder"),json, {bars: { show: true, barWidth:0.2}, xaxis: { mode: "categories" }});
});

});   

当我运行此代码时,x轴未显示任何值,也不会显示默认值。我的结果图看起来像这样。

enter image description here

我测试了code.google.com/p/flot/中给出的示例示例,但是tickes / categories没有用。我得到了像这样的例子的输出。

enter image description here

1 个答案:

答案 0 :(得分:2)

Flot现在由github托管:https://github.com/flot/flot

如果您从那里抓取jquery.flot.jsjquery.flot.categories.js并运行您的代码,它就会有效。 NOT 的工作原理是jquery.flot.js版本0.7与github的最新类别插件相结合。

我使用此代码运行它并正确显示:

var data = [{
    "data": [["Over Time", 5202]]},
{
    "data": [["Shift Start", 19620]]},
{
    "data": [["Maintenance break", 82920]]},
{
    "data": [["Lunch break", 240]]},
{
    "data": [["BreakDown", 75720]]},
{
    "data": [["Break", 3060]]},
{
    "data": [["Tea break", 72840]]}];


$.plot($("#placeholder"), data, {
    bars: {
        show: true,
        barWidth: 0.2
    },
    xaxis: {
        mode: "categories"
    }
});​

以下是它的工作版本:http://jsfiddle.net/ryleyb/CQ3YS/