D3.js
D3.js is a JavaScript library for manipulating HTML data and is easy to use.
How to Use D3.js
To use D3.js in your web page, add a link to the library:
<script src="https://d3js.org/d3.v3.min.js"></script>
This script selects the body element and appends a paragraph with the text "Hello World!":
d3.select("body").append("p").text("Hello World!");
Scatter Plot Example
Visualization:
Source Code:
// Set Dimensions
const xSize = 500;
const ySize = 500;
const margin = 40;
const xMax = xSize - margin * 2;
const yMax = ySize - margin * 2;
// Create Random Points
const numPoints = 100;
const data = [];
for (let i = 0; i < numPoints; i++) {
data.push([Math.random() * xMax, Math.random() * yMax]);
}
// Append SVG Object to the Page
const svg = d3.select("#myPlot")
.append("svg")
.attr("width", xSize)
.attr("height", ySize)
.append("g")
.attr("transform", "translate(" + margin + "," + margin + ")");
// X Axis
const x = d3.scaleLinear()
.domain([0, 500])
.range([0, xMax]);
svg.append("g")
.attr("transform", "translate(0," + yMax + ")")
.call(d3.axisBottom(x));
// Y Axis
const y = d3.scaleLinear()
.domain([0, 500])
.range([yMax, 0]);
svg.append("g")
.call(d3.axisLeft(y));
// Dots
svg.append('g')
.selectAll("circle")
.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");