2012-10-01 46 views
0

我读过有关这样做至少有半打其他问题,我想不出我的怎么是不同的:http://jsfiddle.net/jshado1/Z5UFg/1/海军报动态定义多个数据与标签

我增加了一个功能LoadGraph.check_data我从控制台运行。这些数据,它输出运行load_data(1,"199 Water St",7);后:

#mine 
[ { label:"coffee", data:[ [1659] ] }, 
    { label:"cocoa", data:[ [717] ] }, 
    { label:"tea", data:[ [206] ] } 
] 

这看起来完全一样把我当成the example in the doc(略高于图解选项):

#doc example 
[ { label: "Foo", data: [ [10, 1], [17, -14], [30, 5] ] }, 
    { label: "Bar", data: [ [11, 13], [19, 11], [30, -7] ] } 
] 

我也试过造型我的结构SO answer 5661134后,但那也没有飞起来(与小提琴中看到的结果完全相同)。

小提琴中的第二张图应该有三个彼此相邻的酒吧或者(更好的是)将三个酒吧堆叠在一起。

更新:我添加了一个x值得到以下(但它仍然无法正常工作,小提琴):

#http://jsfiddle.net/jshado1/Z5UFg/3/ 
[ { label:"coffee", data:[ [7, 1659] ] }, 
    { label:"cocoa", data:[ [7, 717] ] }, 
    { label:"tea", data:[ [7, 206] ] } 
] 
#http://jsfiddle.net/jshado1/Z5UFg/2/ 
[ { label:"coffee", data:[ [0, 1659] ] }, 
    { label:"cocoa", data:[ [1, 717] ] }, 
    { label:"tea", data:[ [2, 206] ] } 
] 

如果我拿出对象岬(例如,标签),它的工作原理(但我需要找出原因f_opts.series.stack=true不工作,我想,既然所有的3间酒吧是蓝色,它是治疗所有三个作为同一系列):v4

更新2是这些应该在2个不同的地方?我的意思是应该将标签+数据数组对象放在选项对象中,数据也放在数据数组中?该文档很难弄清楚,因为它从不说明父对象是什么。

回答

1

我相信this version of the fiddle可能是你想要做的。

问题在于,您将f_data视为单个对象而不是对象数组,特别是系列对象。 (你通过在[f_data]的剧情调用中强制它成为一个数组来解决这个问题,但是这会限制你到一个系列。)。你想要做什么,而不是设置f_data = tmp改为按一个完整的系列物体插入f_datatmpdata阵列:

f_data.push({label:cat, stack:true, data:tmp}); 

每个系列的对象(在你的f_data阵列中的每个元素)都有其自己的数据和标签,正如你在我的例子中看到的那样。

有两个原因,为什么你没有看到任何堆叠工作:

  1. 您需要包括jquery.flot.stack.js文件,以获得堆叠功能。 (我在小提琴中添加了链接资源。)
  2. 堆叠仅适用于多个系列。您的“深度”视图将3个重叠的数据点添加到单个系列,而不是创建3个单独的系列,每个系列各有1个数据点。

我相信我的例子实现了你所期望的结果。如果我错了,请告诉我。 我标记了添加的新行// NEW以突出显示更改。

+0

是的! OMG你真了不起 - 谢谢你。我想#2发生了,是一个问题,但我无法弄清楚如何解决它^^, – jacob

1

区别在于您的数据点只包含一个值,而Flot需要[x,y]对。查看文档的Data Format部分以获取更多信息。

编辑:它也看起来像你打电话给$ .plot使用[f_data]即使f_data已经是一系列的数组。看起来这是你问题的当前原因。

如果遇到更多问题,您应该尝试将代码简化为更简单的示例,然后从中继续。这已经从一个问题转化为一个调试会话。

+0

我试图给它第二个数据点,但3对共享相同的X值,这也看起来并不喜欢。我尝试将它添加到第二个图形中(没有工作,但仍然无法工作),并且当我尝试以与第一个图形(正在工作)相同的方式添加标签时,它打破了。 – jacob

+0

如果您希望将它们堆叠起来,请查看示例页面上的堆叠示例。 – DNS

+0

我可以担心以后再堆叠。 – jacob