Pregunta

Tengo un gráfico creado con Birt y quiero añadir un poco de etiqueta en él para especificar las 4 regiones delimitadas por los 2 marcadores rojos (ver imagen inferior), una etiqueta en cada cuadrante (centrado si es posible).

Estoy buscando una solución para hacer eso, directamente usando el editor gráfico de Birt o utilizando un javascript (como yo he hecho con los marcadores rojos).

text alt

¿Fue útil?

Solución

Con el fin de centrar dinámicamente algún tipo de etiqueta en cada cuadrante de la gráfica, usted tiene que tener alguna forma de calcular las coordenadas. Por supuesto, no estoy muy familiarizado con Birt y estoy haciendo la suposición de que los marcadores rojos de la gráfica pueden variar.

En cualquier caso, en el supuesto que se pueden obtener las coordenadas, se podría escribir una función que genere dinámicamente la etiqueta basada en un par de parámetros:

function generateLabel(sContent, iXoffset, iYoffset) {

  var eLabel = document.createElement('span');
  eLabel.appendChild(document.createTextNode(sContent));

  var eDivision = document.createElement('div');
  eDivision.appendChild(eLabel);

  eDivision.style.left = iXoffset + 'px';
  eDivision.style.top = iYoffset + 'px';
  // include other styles here...

  return eDivision;

}

y luego a partir de ahí, se puede llamar a esta función con el contenido de la etiqueta y el desplazamiento conjunto coordenadas:

var eQuadrantOneLabel = generateLabel('Quadrant One', 10, 25);
// and so on...

A continuación, sólo tiene que añadir el elemento de envase de la gráfica (suponiendo que se tiene una id de, por ejemplo, graph):

var eGraphContainer = document.getElementById('graph');
eGraphContainer.appendChild(eQuadrantOneLabel);
// and so on for each label...
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top