未捕获的图的尺寸无效,宽度= null,高度= null,用于flot charts api

我正在使用flot charts API来显示图表,我成功地绘制了数据。 我在一个页面中加载大约30个图表,我在ui-tab中渲染它们。所有图形都完美呈现,页面工作正常。但我仍然得到这个错误。 我对所有图形使用了不同的div id,高度和宽度都给了所有的div。 我从昨天起就无法找到解决方案。我在中央页面中包含了flot所需的所有js。 请帮助我这方面。

非活动选项卡中的div元素是不可见的,在显示之前没有宽度或高度。 这可能会导致flot出现问题,此处的默认做法是仅在显示选项卡时呈现图形。

另一种方法是将div绝对定位在页面之外,渲染绘图图形,然后将div移动到选项卡中。

我遇到过同样的问题。 一个不同的解决方案对我有用。

  • 确保设置样式的高度和宽度=“width:100%; height:400px”(查看隐藏标签内的绘图无效尺寸,宽度= 0,高度= 400 )
  • 确保flot没有找到一些不存在的div。 这是因为我从有三个图的页面复制它,而我使用了第一个和第三个。 我可以通过使用chrome的控制台找到它(它在找不到页面中的第二个div后崩溃了。因此第三个没有被绘制。只需注释掉js中未使用的绘图并且它工作正常)

您可以在单击选项卡后移动事件以生成绘图 – 请参阅: JQuery onchange in tabs事件

例如:

$("#tabs").tabs({ activate: function(event, ui) { function to generate plot... } });