D3 предоставляет функции для рисования осей. Ось состоит из линий, галочек и меток. Ось использует шкалу, поэтому каждой оси должен быть присвоен масштаб для работы.
Конфигурирование Axis API
Вы можете настроить API, используя следующий скрипт.
<script src = "https://d3js.org/d3-axis.v1.min.js"></script> <script> </script>
Методы Axis API
D3 предоставляет следующие важные функции для рисования осей. Они описаны вкратце следующим образом.
-
d3.axisTop () — этот метод используется для создания верхней горизонтальной оси.
-
d3.axisRight () — этот метод используется для создания вертикальной направленной оси.
-
d3.axisBottom () — этот метод используется для создания нижней горизонтальной оси.
-
d3.axisLeft () — создает левую вертикальную ось.
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 — Применить преобразование — Вы можете добавить элемент группы и вставить ось 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 и добавьте в нее следующие изменения.
<html> <head> <script type = "text/javascript" src = "https://d3js.org/d3.v4.min.js"></script> <style> svg text { fill: purple; font: 12px sans-serif; text-anchor: end; } </style> </head> <body> <script> var width = 400, height = 400; var data = [100, 120, 140, 160, 180, 200]; var svg = d3.select("body") .append("svg") .attr("width", width) .attr("height", height); 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]); var x_axis = d3.axisBottom().scale(xscale); var y_axis = d3.axisLeft().scale(yscale); svg.append("g") .attr("transform", "translate(50, 10)") .call(y_axis); var xAxisTranslate = height/2 + 10; svg.append("g") .attr("transform", "translate(50, " + xAxisTranslate +")") .call(x_axis) </script> </body> </html>
Теперь запросите браузер, и мы увидим следующие изменения.