2012-09-04 312 views
9

我已经创建了一个Flot堆积条形图,但块似乎并不堆叠 - 它们都从0开始(在图表的底部)。Flot堆叠条形图不堆积

Flot chart

的4个块的值是:

  • 明亮的绿色 - 1
  • 紫色 - 28
  • 红色 - 83
  • 浅绿色 - 195

如果它正确堆叠它应该在307的高度。对有什么问题有任何想法?

drawLineChart: function(el,data,ticks,labelstr) { 
     var plot = $.plot(el, data, { 
     series: {stack: true, 
      lines: {show: false, steps: false}, 
      bars: {show: true, barWidth: 0.4, align: 'center'} 
     }, 
     xaxis: { 
      ticks: ticks 
     }, 
     yaxis: { 
      min: 0, 
     }, 
     grid: { 
      color: '#aaa', 
      borderWidth:0, 
      axisMargin:0, 
      hoverable: true, 
      autoHighlight: false 
     }, 
     legend: { 
      show: true, 
      position: "ne", 
      noColumns: 1 
     } 
     }); 
    } 

回答

8

最有可能的问题是你没有在flot之后包含堆栈插件。在你的头标记,你应该有这样的事情:

<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]--> 
<script language="javascript" type="text/javascript" src="../jquery.js"></script> 
<script language="javascript" type="text/javascript" src="../jquery.flot.js"></script> 
<script language="javascript" type="text/javascript" src="../jquery.flot.stack.js"></script> 

在这种情况下是,去年script标签的关键。

除此之外,我不知道会出现什么问题 - 我跑了你的选择,一切都很好。 See it in action here

+1

Definetely包含了stack.js文件..我检查了它是通过Firebug加载的,它报告了HTTP 200.我在这上面浪费了几个小时。 。可能只是切换到谷歌图表! – RichW

+0

@RichW - 必须做其他事情,因为显然你的代码有效!我想其他的可能性是,你的数据对象有些奇怪 - 也许你可以编辑一些示例数据对象到你的问题中? – Ryley

5

我遇到了与Flot相同的问题,并尝试显示堆积的条形图。我发现在我的情况下,它是由不按日期升序排序的系列引起的。

按日期升序排序后,系列开始正确堆叠。

我也遇到了与您相同的情况,当有负值需要堆叠。本地堆栈插件不支持此功能。你可以在这里寻找替代的插件来堆叠负值bar chart

+0

不错的插件。也适用于其他flot插件。 – ChiMo