1

我想将 X 轴值从默认值更改为从 JSON 传递的动态刻度。

通过我的上一篇文章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 轴不显示任何值,默认值也不会显示。我的结果图是这样的。

在此处输入图像描述

我测试了code.google.com/p/flot/中给出的示例示例,但刻度/类别不起作用。我得到这样的例子的输出。

在此处输入图像描述

4

1 回答 1

2

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

如果你从那里获取jquery.flot.jsjquery.flot.categories.js并运行你的代码,它就会工作。不起作用的是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/

于 2012-11-22T17:59:20.027 回答