0

d3 軸コンポーネントを使用していますが、描画後にいくつか微調整したいと考えています。具体的には、テキスト要素に変換を追加し、text-anchor 属性を「middle」から「end」に設定して、テキスト ラベルを回転させたいと考えています。

私が直面している問題は、遷移の一部として d3 コードによって text-anchor 属性が非同期に設定されているように見えることです。コードで値を「終了」に設定すると、トランジションが実行されると、その後「中間」に戻されます。

変更を行う前にトランジションが終了するまで待つと、途切れ途切れに見えます。デフォルトの値の代わりにテキストアンカー値が使用されるように、軸を描画して遷移させるプロセスに自分自身を挿入する方法があるかどうか疑問に思っていますか?

4

2 に答える 2

2

これは、API からオーバーライドできないようです。シンプルだがハックな解決策は、スタイルシートに設定することです...

.x.axis text {
  text-anchor: end !important;
}
于 2012-06-25T06:07:15.903 に答える
2

これは軸コンポーネントのバグであると思われるため、軸遷移の一部としてではなく、すぐにラベル属性を更新するプル リクエストを作成しました。テキスト要素の text-anchor 属性は補間できないため、更新をトランジションまで延期する理由はありません。すぐに設定すると、選択後を使用して簡単に修正できます。

別の修正方法は、軸コンポーネントを拡張して、さまざまなスタイルの目盛りラベルをサポートすることです。この方法では、事後選択を使用する必要がないため、軸の遷移と競合することはありません。

于 2012-06-25T20:38:12.383 に答える