2011-06-29 8 views
10

Para valores de 0, a Flot le gusta dibujar una línea plana donde estaría la barra. ¿Es posible configurarlo para que no dibuje nada?¿Es posible ocultar barras de altura cero en un gráfico de barras?

+0

Este problema es más evidente si está utilizando gráficos de barras apiladas; La solución es probablemente más complicada también, ya que ninguna de las siguientes soluciones funcionará (excepto que se oculta la línea con ancho 0) – Ryan

+0

@Ryan usando 'linewidth' messes up' datapoint' values ​​ – shorif2000

Respuesta

7

En mi aplicación, resolví este problema estableciendo yaxis min en un valor mayor que 0 y menor que la resolución con la que estaba trabajando. Bordes visibles, línea plana oculta.

var options = { 
series: { 
    stack: 0, 
    lines: { show: false, fill: true, steps: false },  
      bars: { show: true, barWidth: 0.6 } 
     }, 
    xaxis: { 
     mode: "time", 
     timeformat: "%H:%M" 
    }, 
    yaxis: { 
     min: 0.5 
    }, 
    selection: { mode: "x" }, 
    grid: { hoverable: true } 
}; 
+0

manera coooooooool –

6

Una solución: configure lineWidth de las barras en 0. Esto elimina el borde alrededor de las barras.

Esto tiene el costo de la buena visibilidad de los pequeños valores Flot tiene. Con bordes, incluso cuando su tabla tiene valores grandes, 1 y 2, por ejemplo, son distintos. Sin bordes, los números pequeños pueden ser difíciles de ver, pero este efecto se puede compensar al ajustarse a los valores de fillColor más oscuros para sus barras.

8

puede establecer el valor a cero cuando es cero y que evitará que se muestra y que permitirá mantener los bordes alrededor de otros bares.

+0

ESTA es la forma de resolverlo para un stack gráfico de barras. –

+0

Corrección: Esto solo parece funcionar si los datos de la serie son principalmente distintos de cero. Tuve un caso en el que ambas series tenían 0 valores, y usar null en lugar de 0 parecía causar muchos problemas con flot. Por ejemplo, plothover/click reportaría valores de dataIndex extraños para la segunda serie (la apilada arriba). Cambiar los valores de null a 0 soluciona los problemas. Ajustar el lineWidth parece ser la única forma de resolver mi caso específico. –

+0

@Justin Aunque esta es una publicación bastante antigua, esto me ayudó como un encanto. Estaba atrapado en la ocultación de 0 puntos valiosos en el gráfico de líneas. Me rasqué el pelo pero esta solución me ayudó de una vez. Gracias hombre. Me has alegrado el día. Gracias por una publicación tan útil y realmente lo aprecio. –

Cuestiones relacionadas