0

我有一个用 Birt 创建的图表,我想在其上添加一些标签以指定由 2 个红色标记分隔的 4 个区域(见下图),每个象限中有一个标签(如果可能,居中)。

我正在寻找一种解决方案,直接使用 birt 图表编辑器或使用 javascript(就像我为红色标记所做的那样)。

替代文字

4

1 回答 1

1

为了在图形的每个象限中动态地居中某种类型的标签,您必须有某种计算坐标的方法。当然,我对 Birt 并不是很熟悉,我假设图表的红色标记会有所不同。

无论如何,假设您可以获取坐标,您可以编写一个基于几个参数动态生成标签的函数:

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;

}

然后从那里,您可以使用设置的标签内容和偏移坐标调用此函数:

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

然后只需将元素添加到图形的容器中(假设它有一个idof,比如说,graph):

var eGraphContainer = document.getElementById('graph');
eGraphContainer.appendChild(eQuadrantOneLabel);
// and so on for each label...
于 2009-04-03T13:55:29.147 回答