D3.js

D3.js är ett JavaScript-bibliotek för att hantera HTML-data.

D3.js är lätt att använda.

Hur använder man D3.js?

Om du vill använda D3.js på en webbsida, lägg till en länk till biblioteket:

<script src="//d3js.org/d3.v3.min.js"></script>

Denna skript väljer body-elementet och lägger till en paragraf med texten "Hej Värld!":

d3.select("body").append("p").text("Hej Värld!");

Prova själv

Scatter diagram

Exempel

// Ställ in dimensioner
const xSize = 500;
const ySize = 500;
const margin = 40;
const xMax = xSize - margin*2;
const yMax = ySize - margin*2;
// Skapa slumpmässiga punkter
const numPoints = 100;
const data = [];
for (let i = 0; i < numPoints; i++) {
  data.push([Math.random() * xMax, Math.random() * yMax]);
}
// Lägg till SVG-objektet till sidan
const svg = d3.select("#myPlot")
  .append("svg")
  .append("g")
  .attr("transform","translate(\" + margin + \",\" + margin + \")");
// X-axel
const x = d3.scaleLinear()
  .domain([0, 500])
  .range([0, xMax]);
svg.append("g")
  .attr("transform", "translate(0," + yMax + ")")
  .call(d3.axisBottom(x));
// Y-axel
const y = d3.scaleLinear()
  .domain([0, 500])
  .range([ yMax, 0]);
svg.append("g")
  .call(d3.axisLeft(y));
// Punkt
svg.append('g')
  .selectAll("dot")
  .data(data).enter()
  .append("circle")
  .attr("cx", function (d) { return d[0] } )
  .attr("cy", function (d) { return d[1] } )
  .attr("r", 3)
  .style("fill", "Red");

Prova själv