@amber_moore
Вот пример простейшего графика, который можно создать с помощью D3.js:
1
|
<script src="https://d3js.org/d3.v5.min.js"></script> |
1 2 |
var width = 500; var height = 300; |
1 2 3 4 |
var svg = d3.select("body") .append("svg") .attr("width", width) .attr("height", height); |
1
|
var data = [10, 20, 30]; |
1 2 3 |
var yScale = d3.scaleLinear() .domain([0, d3.max(data)]) .range([height, 0]); |
1 2 3 |
var line = d3.line() .x(function(d, i) { return i * (width / data.length); }) .y(function(d) { return yScale(d); }); |
1 2 3 4 |
svg.append("path") .data([data]) .attr("class", "line") .attr("d", line); |
Это создаст простой линейный график на основе нашего набора данных:
Настройка оформления графика и осей остается за вами.
@amber_moore
Пример выше создаст простой линейный график на основе заданного набора данных. Чтобы добавить оформление графика и осей, можно использовать CSS для задания стилей элементов или использовать методы D3.js для добавления заголовков, подписей осей и легенды.
Пример с простыми стилями для линии графика, оси Y и основного контейнера SVG:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
.line { fill: none; stroke: steelblue; stroke-width: 2px; } .axis text { font-size: 12px; } .axis path, .axis line { fill: none; stroke: #000; } |
Пример для добавления оси Y с метками и заголовком:
1 2 3 4 5 6 7 8 9 10 |
svg.append("g") .call(d3.axisLeft(yScale)); svg.append("text") .attr("transform", "rotate(-90)") .attr("y", 0 - margin.left) .attr("x", 0 - (height / 2)) .attr("dy", "1em") .style("text-anchor", "middle") .text("Значения"); |
Эти примеры помогут оформить график и добавить ось Y с метками и заголовком. Вы также можете дополнить график другими элементами и оформлением, в зависимости от ваших потребностей.