我有一个用 Birt 创建的图表,我想在其上添加一些标签以指定由 2 个红色标记分隔的 4 个区域(见下图),每个象限中有一个标签(如果可能,居中)。
我正在寻找一种解决方案,直接使用 birt 图表编辑器或使用 javascript(就像我为红色标记所做的那样)。
我有一个用 Birt 创建的图表,我想在其上添加一些标签以指定由 2 个红色标记分隔的 4 个区域(见下图),每个象限中有一个标签(如果可能,居中)。
我正在寻找一种解决方案,直接使用 birt 图表编辑器或使用 javascript(就像我为红色标记所做的那样)。
为了在图形的每个象限中动态地居中某种类型的标签,您必须有某种计算坐标的方法。当然,我对 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...
然后只需将元素添加到图形的容器中(假设它有一个id
of,比如说,graph
):
var eGraphContainer = document.getElementById('graph');
eGraphContainer.appendChild(eQuadrantOneLabel);
// and so on for each label...