📜  D3.js-Axis API

📅  最后修改于: 2020-10-26 06:12:58             🧑  作者: Mango


D3提供绘制轴的功能。轴由线,刻度和标签组成。轴使用比例尺,因此需要为每个轴指定比例尺。

配置Axis API

您可以使用以下脚本配置API。



Axis API方法

D3提供了以下重要功能来绘制轴。简要描述如下。

  • d3.axisTop() -此方法用于创建顶部水平轴。

  • d3.axisRight() -此方法用于创建垂直的右轴。

  • d3.axisBottom() -此方法用于创建底部水平轴。

  • d3.axisLeft() -创建左垂直轴。

工作实例

让我们学习如何将x和y轴添加到图形中。为此,我们需要遵循以下步骤。

步骤1-定义变量-使用以下代码定义SVG和数据变量。

var width = 400, height = 400;
var data = [100, 150, 200, 250, 280, 300];
var svg = d3.select("body")
   .append("svg")
   .attr("width", width)
   .attr("height", height);

步骤2-创建比例线性函数-为x和y轴创建比例线性函数,如下所示。

var xscale = d3.scaleLinear()
   .domain([0, d3.max(data)])
   .range([0, width - 100]);

var yscale = d3.scaleLinear()
   .domain([0, d3.max(data)])
   .range([height/2, 0]);

在这里,我们创建了线性比例尺并指定了域和范围。

步骤3-将标度添加到x轴-现在,我们可以使用以下代码将标度添加到x轴。

var x_axis = d3.axisBottom()
   .scale(xscale);

在这里,我们使用d3.axisBottom创建我们的x轴,并为其提供比例尺,该比例尺已在前面定义。

步骤4-将比例尺添加到y轴-使用以下代码将比例尺添加到y轴。

var y_axis = d3.axisLeft()
   .scale(yscale);

在这里,我们使用d3.axisLeft创建y轴,并为其提供上面定义的比例。

步骤5-应用转换-您可以追加一个group元素并插入x,y轴,如下所示。

svg.append("g")
   .attr("transform", "translate(50, 10)")
   .call(y_axis);

步骤6-附加组元素-使用以下代码应用过渡和组元素。

var xAxisTranslate = height/2 + 10;
svg.append("g")
   .attr("transform", "translate(50, " + xAxisTranslate  +")")
   .call(x_axis)

步骤7-工作示例-完整的代码清单在以下代码块中给出。创建网页axes.html并对其进行以下更改。


      
   

   
      
   

现在,请求浏览器,我们将看到以下更改。