问题描述
我正在尝试使用D3功能(如此处的https://www.tutorialsteacher.com/d3js/axes-in-d3)在画布上绘制轴。但是我看到的每个示例都在使用SVG,而我希望使用画布。另一方面,在他们的文档或其他地方,我没有看到任何指示不能在画布上完成。
有可能吗?如果可以,怎么办?
解决方法
简而言之:不,那不可能。
D3在很大程度上与不可知论,这意味着它可用于创建SVG,Canvas,其他HTML元素等。但是,某些模块的确非常具体,d3-axis
就是这种情况。
如果您查看d3-axis
source code,您会发现它附加了SVG <path>
,<line>
和<text>
元素以创建轴。例如:
path.enter().insert("path",".tick")
最后,here对此主题进行了讨论,Bostock(D3创建者)放弃了修改d3-axis
模块以在HTML canvas上创建轴的想法。