JSFiddle - React, Tailwind, and code Playground
HTML
<canvas id="drawing" width="800px" height="500px"></canvas>
JavaScript
var data_array = [];
var num_vertices = [];
function draw(position) {
var canvas_elem = document.getElementById('drawing');
// Check the element is in the DOM and the browser supports canvas
if(canvas_elem.getContext)
{
// Initaliase a 2-dimensional drawing context
var canvas = canvas_elem.getContext('2d');
// Clear canvas
canvas.clearRect(0, 0, canvas_elem.width, canvas_elem.height);
var data = data_array[num_vertices+1+position].split(",");
// Draw all vertices
for( var i=0; i<num_vertices; i++)
{
canvas.arc(data[2*i], data[2*i+1], radius, 0, 2 * Math.PI, false);
canvas.fillStyle = 'black';
canvas.fill();
}
// Connect vertices by lines according to adjacency matrix
for(var i=0;i<num_vertices; i++)
{
for(var j=i; j<num_vertices; j++)
{
if(adjacency[i][j]==1)
{
canvas.beginPath();
canvas.moveTo(data[2*i],data[2*i+1]);
canvas.lineTo(data[2*j],data[2*j+1]);
canvas.stroke();
}
}
}
}
else
{
alert("Please use an HTML5 compatible browser.");
}
}
draw();