D3.js 如何生成在(0,0)处不相交的轴?

D3.js 如何生成在(0,0)处不相交的轴?,d3.js,D3.js,我希望生成在(0,0)处不相交的轴(也不一定与绘图的边重合),如下面的示例所示 如何使用d3 来自D3.js: 要更改轴相对于绘图的位置,请在包含的g元素上指定变换属性 首先需要确定要在何处显示轴。如果它们固定在画布上,则取宽高比 我举了一个例子: x轴位于高度的2/3处: .attr("transform", "translate(0," + height * 2 / 3 + ")") y轴为宽度的1/3: .attr("transform", "translate(" + width /

我希望生成在(0,0)处不相交的轴(也不一定与绘图的边重合),如下面的示例所示

如何使用
d3

来自D3.js:

要更改轴相对于绘图的位置,请在包含的g元素上指定变换属性


首先需要确定要在何处显示轴。如果它们固定在画布上,则取宽高比

我举了一个例子:

x轴位于高度的2/3处:

.attr("transform", "translate(0," + height * 2 / 3 + ")")
y轴为宽度的1/3:

.attr("transform", "translate(" + width / 3 + ", 0)")
如果需要相对于值范围的轴,请根据范围计算它们。例如:

var domain = d3.extent(data, function(d) { return d.y_axis; })
var y_axis_pos = width * (y_axis_value - domain[1]) / (domain[0] - domain[1]);
// svg code...
    .attr("transform", "translate(" + y_axis_pos + ", 0)")