C3: forzar salto de línea en el texto de marca del eje x

Creado en 17 oct. 2014  ·  9Comentarios  ·  Fuente: c3js/c3

Oye

http://jsfiddle.net/gbdtjsba/11/

Tengo etiquetas bastante largas en mi gráfico. He agregado una altura dura de 500px al gráfico y 200px al eje x que funciona, pero me gustaría hacer que la altura del eje sea dinámica si es posible.

¿Debo recorrer las etiquetas para encontrar la más grande y calcular su ancho antes de aplicar el gráfico, o c3 tiene una característica que puede hacer esto?

Podría estar relacionado con este: https://github.com/masayuki0812/c3/issues/527

Gracias por una gran biblioteca, hasta ahora me ha ahorrado muchas horas de programación d3 :)

C-feature-request

Comentario más útil

Parece que no funciona en violines .. ¿Qué tal en el código real? Esto funciona para mi. Y configure axis.x.tick.multiline = false para que se muestre como una línea. Ahora, la multilínea es la predeterminada.

Creo que parece razonable introducir algo para forzar los saltos de línea. Implementaré si es necesario.

Todos 9 comentarios

Hola, gracias por tu informe. Creo que esta confirmación permite calcular la altura del eje x automáticamente, así que, ¿podrías probar el último código de nuevo? Gracias.

ACTUALIZAR:
Introduje axis.x.tick.width para admitir múltiples líneas de texto, así que configure esta opción null en este momento. Sin esto, el texto de la marca se dividirá en varias líneas incluso si se giran.

Hola,

Gracias por tu actualización, desafortunadamente no creo que esté funcionando.

  1. http://jsfiddle.net/gbdtjsba/15 : sin la altura del eje x 200px (que estoy tratando de eliminar), los resultados son los mismos que antes. Intente cambiar el tamaño del gráfico para ver un comportamiento inconsistente.
  2. http://jsfiddle.net/gbdtjsba/11 : al cargar, el eje x parece tener la altura incorrecta, pero esto se soluciona cuando se cambia el tamaño. Esta versión todavía tiene 200px de altura en el eje x, y creo que está volviendo a esta altura, no a una calculada.

Creo que lo que debe suceder es, por ejemplo, que el gráfico tiene una altura de 500 px, las marcas del eje tienen un ancho / alto máximo de 125 px, por lo que al gráfico se le asigna automáticamente una altura de 375 px y las etiquetas de 125 px. O, si lo prefiere / como una opción, la capacidad de hacer que la altura del gráfico sea de 500 px y la altura total, incluidas las etiquetas, sea de 625 px.

Las etiquetas en 1+ líneas son geniales. ¿Es posible forzar saltos de línea? Por ejemplo 2014-10-22 \n 2014-10-15 \n 2014-10-08 ?

Parece que no funciona en violines .. ¿Qué tal en el código real? Esto funciona para mi. Y configure axis.x.tick.multiline = false para que se muestre como una línea. Ahora, la multilínea es la predeterminada.

Creo que parece razonable introducir algo para forzar los saltos de línea. Implementaré si es necesario.

Creo que parece razonable introducir algo para forzar los saltos de línea. Implementaré si es necesario.

Si. Necesario.

algún plan para esto?

@laurabrooks No estoy seguro de a qué te refieres con "esto", pero axis.x.tick.multiline se ha implementado por un tiempo y recientemente presenté soporte para axis.x.tick.multilineMax y agregué documentación para ambos (ver aquí ), espero que ayude.

Me preguntaba acerca de forzar un salto de línea en un punto específico del texto de la etiqueta. Sin embargo, los atributos multiline y multilineMax harán el trabajo, gracias por la respuesta @jcsmorais

Oye, ¿hay alguna disposición para etiquetas de eje multilínea?

Estoy cerrando este problema porque ya existen opciones multilínea. Consulte los documentos indicados por @jcsmorais.

¿Fue útil esta página
0 / 5 - 0 calificaciones