El gráfico circular Flot da un error en firebug: "excepción no capturada: Dimensiones no válidas para la gráfica, ancho = nulo, alto = nulo"
I usando flot gráfico circular para trazar gráficos circulares. pero muestra un error en firebug que
Excepción no capturada: Dimensiones no válidas para la gráfica, width = null, height = null
También he dado la altura y el ancho de la hoja de estilo. y trató también así
<div id="placeholder1" style="width:140px;height:140px" ></div>
Cómo resolver esto?
7 answers
Compruebe estos:
-
Primero incluye la biblioteca jQuery y luego flot js library
Envuelva todo el código dentro de la función de controlador
$(document).ready()
.Ata el flotador con
id
correcto y no se repite el mismoid
.Si su
div
es dinámico, es decir, apareció al DOM después de cargar la página, entonces bindplot()
después el elemento se le apareció a DOM.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-11 09:37:10
También tuve el mismo problema. Establecí un alto y un ancho en la etiqueta <div>
y arregló el error.
Puede usar css en línea (como lo hice) o JS para establecer la altura y el ancho. Pero la función plot()
se debe llamar solo después de establecer la altura de la <div>
<div class="bars_two" style="height:300px;"></div>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-29 09:05:45
¡Yo también tuve este mismo problema! La respuesta no estaba en la lista anterior, así que aquí estaba mi problema y solución.
<div id="chart" class="chart" style="width:100%;height:250px;"></div>
Javascript:
<script type="text/javascript">
$(document).ready(function () {
var data = [...];
var options = {...};
$.plot($("#placeholder"), data, options);
});
</script>
So. Observe la función plot. Al principio, no tenía el # en el primer parámetro. Aparentemente, eso es necesario. Resolvió mis problemas.
GG.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-30 13:59:29
Una solución rápida que encontré es simplemente escribir algo entre las etiquetas div.
Por ejemplo:
Cambio
<div id="placeholder"></div>
a
<div id="placeholder">.</div>
o <div id="placeholder">randomtext</div>
.
Personalmente, descubrí que usar espacio/pestañas/líneas nuevas no funciona en esta solución rápida.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-31 02:39:07
Tuve el mismo problema integrando plantilla a rails. Esa es una mala manera, pero solo comento la línea que arroja la excepción y añado 2 líneas para establecer ancho y alto en 0 - me ayudó.
Canvas.prototype.resize = function(width, height) {
if (width <= 0 || height <= 0) {
// COMMENTED NEXT LINE
// throw new Error("Invalid dimensions for plot, width = " + width + ", height = " + height);
// NEW LINES ADDED
width = 0;
height = 0;
}
// ... others code
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-10 15:39:50
Si coloca el html de su gráfico en div al que se le da la clase "display: none", obtendrá este error. Debe poner su gráfico html en div que se da "display: block" clase cuando " jquery.flot.js " está cargada.
<div id="pie_chart" class="chart"> </div>
Si este html está en cualquier div que tiene class="display: none"
cuando "jquery.flot.js " está cargado, cámbialo a display: block
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-18 12:44:19
Por lo tanto, parece que antes de renderizar en un gráfico, necesita volver a recuperar el elemento DOM. Dado que flot manipula los elementos e inserta los suyos propios, parece que está reemplazando el elemento con sus propios elementos.
En tu renderizado, haz:
$.plot($(".myChartId || #myChartClass"), myData, myOptions);
Esto no tiene nada que ver con estar en $(document).ready()
, aunque es una buena práctica colocarlo dentro de esto.
Espero que esto ayude!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-18 12:43:25