キャンバスでのD3軸機能の使用

Aug 24 2020

D3機能を使用してキャンバスに軸を描画しようとしています(ここに例を示します) https://www.tutorialsteacher.com/d3js/axes-in-d3)。しかし、私が見たすべての例は、キャンバスを使用したいときにSVGを使用しています。一方で、彼らのドキュメントや他の場所で、それがキャンバスで実行できないという兆候は見られませんでした。

出来ますか?もしそうなら、どのように?

回答

2 GerardoFurtado Aug 24 2020 at 12:27

要するに:いいえ、それは不可能です。

D3はレンダリングにほとんど依存しません。つまり、SVG、Canvas、その他のHTML要素などを作成するために使用できます。ただし、一部のモジュールは実際には非常に特殊であり、それがの場合ですd3-axis。

あなたが見ている場合はd3-axis 、ソースコードをあなたはそれがSVGを追加していることがわかります<path><line><text>軸を作成するための要素。例えば:

path.enter().insert("path", ".tick")

最後に、このテーマについての議論があります。ここでは、Bostock(D3作成者)が、d3-axisHTMLキャンバス上に軸を作成するためのモジュールを変更するというアイデアを放棄しています。