我在隐藏标签中插入图表时出现此错误,如第二,第三等。 这是错误:
Invalid dimensions for plot, width = 0, height = 400 in js/jquery.flot.min.js:6.
我使用了bootstrap 2和jquery:
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
以下是图书馆:
<script src="js/jquery.flot.min.js"></script>
<script src="js/jquery.flot.pie.min.js"></script>
<script src="js/jquery.flot.stack.js"></script>
<script src="js/jquery.flot.resize.min.js"></script>
和css:
#plotarea
{
max-width: none;
height: 400px;
}
#pie
{
max-width: none;
height: 400px;
}
#barmonth
{
max-width: none;
height: 400px;
}
#baryear
{
max-width: none;
height: 400px;
}
带有每个图表id的div(总是将id更改为我需要显示的图表,如plotarea,pie,barmonth,baryear等):
<div id="plotarea"></div>
我添加此样式来修复宽度错误.ui-tabs .ui-tabs-hide { left: -10000px; visibility: hidden !important; }
,但即使这样,图表也不会在这些隐藏标签内绘制图表,只绘制第一个视图中的第一个标签...可以你现在有没有形式来解决它?
我使用了魅力模板。
祝你好运!
答案 0 :(得分:30)
我已经成功了!
如果你有这个库<script src="js/jquery.flot.resize.min.js"></script>
,你只需要在styles.css(样式表文件)中更改它:
max-width: none;
height: 400px;
用这个:
width: 100%;
height: 400px;
现在,图表总是在每个屏幕中调整大小。
答案 1 :(得分:13)
我有同样的问题。一个不同的解决方案对我有用。
答案 2 :(得分:1)
我在IE8下有同样的问题,有时Android,我的图表最初隐藏了切换功能,导致错误尝试在隐藏的div中绘制图表。 CSS已经定义,所以没有帮助。
在绘制div元素解决问题之后移动jQuery隐藏和切换代码。
答案 3 :(得分:0)
未隐藏div时,我遇到了类似的麻烦。它将在IE11中显示类似的错误。花费很长时间来追踪该容器需要成为一个块元素,即display: block
。希望这可以帮助某人比我少浪费时间!
答案 4 :(得分:0)
以上答案均不适合我。
我这样解决了:
<div id="flot-line-chart-moving" style="width:500px;height: 200px;"></div>
我们可以通过手动设置宽度来解决错误,但是问题是,宽度在上面的代码中是硬编码的,并且您并不总是希望图表使用500px。
所以图表绘制成功后,我们可以通过jquery设置图表的宽度:
$('#flot-line-chart-moving').css('width','100%');
您还需要添加
<script src="js/jquery.flot.resize.min.js"></script>