3

d3 フォース有向グラフでほろ酔いを使用すると、問題が発生します。ほろ酔い重力を西に設定すると、円の左上隅からほろ酔いが始まります。円の右側から開始するにはどうすればよいですか?

d3 で使用するコードのサンプルを次に示します。

var node = vis.selectAll("g.node")
    .data(json.nodes)
    .enter().append("svg:g");

node.append("svg:circle")
    .attr("r", function(d){return d.credits *5+"px";})
    .style("fill", "orange");

$('svg circle').tipsy({
    gravity: 'w',
    html: true,
    title: function() {
        var d = this.__data__,
            name = d.name;
        return name;
    }
});

編集この質問で: https://stackoverflow.com/a/10806220/1041692彼らは次のように言います:

実際の円でオーバーレイする svg:g にツールチップを追加してみることができますが、幅と高さはゼロです。現在、境界ボックスを取り、ツールチップを端に配置しています。ほろ酔いのオプションで遊ぶことも役立つかもしれません。

しかし、私が間違っているか、うまくいかないかのどちらかで、問題は解決しませんでした。

EDIT 2この問題はブラウザにも依存します。クロムでは、ほろ酔い要素が円の左上隅に取り付けられていますが、円の右側の中央に取り付けたいと思います。Firefox では、ほろ酔いが Web ページ全体の左上に表示されます。

4

1 に答える 1

3

D3 のほろ酔いチュートリアルでは、実際にはほろ酔いの修正版を使用しています。

http://bl.ocks.org/1373263

SVG 要素のバウンディング ボックスを正しく計算するように微調整されています。ほろ酔いサイトからダウンロードしたほろ酔いを使用するのではなく、そのソースコードをコピーしてください。

于 2013-01-23T19:23:34.033 に答える