チャート上のオーバーレイラベルを表示するには?
-
22-08-2019 - |
質問
私はバートで作成されたグラフを持っており、私はそれが2つの赤色マーカー(下図参照)によって区切ら4つの領域を指定するために、各象限内の1つのラベルが(可能であれば中心)は、いくつかのラベルを追加する。
私は直接BIRTチャートエディタまたはJavaScriptを使用しての(私は赤のマーカーのために行っているように)使用して、それを行うためのソリューションを探しています。
解決
動的にグラフの各象限にラベルのいくつかのタイプをセンタリングするためには、座標を計算するいくつかの方法を持っている必要があります。もちろん、私はバートと本当に慣れていないと私は、グラフの赤いマーカーが変化することを前提に作ってるんです。
とにかく、あなたは座標を取得することができ、あなたは動的パラメータのカップルに基づいてラベルを生成する関数を書くことができると仮定します:
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
、たとえば、のgraph
を有する)グラフのコンテナに要素を追加します。
var eGraphContainer = document.getElementById('graph');
eGraphContainer.appendChild(eQuadrantOneLabel);
// and so on for each label...
所属していません StackOverflow