A simple example of visualising some data using div elements, sized by CSS.
This is an alternative to creating SVG elements using D3
license: mit | |
border: no |
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<title>Visualisation without D3</title> | |
<style> | |
#vis { | |
width: 500px; | |
height: 500px; | |
} | |
.bar { | |
background-color: red; | |
text-align: right; | |
color: white; | |
padding: 3px; | |
margin: 1px; | |
} | |
</style> | |
</head> | |
<body> | |
<div id="vis"> | |
</div> | |
<script src="script.js"></script> | |
</body> | |
</html> |
function createRandomData() { | |
var numDataItems = Math.floor((Math.random() * 10) + 1); | |
var d = []; | |
for(var i = 0; i < numDataItems; i++) { | |
d.push(Math.floor((Math.random() * 50) + 1)); | |
} | |
return d; | |
} | |
var data = createRandomData(); | |
var visElement = document.getElementById('vis'); | |
for(i = 0; i < data.length; i++) { | |
var bar = document.createElement('div'); | |
var textContent = document.createTextNode(data[i]); | |
bar.appendChild(textContent); | |
bar.className += 'bar'; | |
bar.style.width = (data[i] * 10) + 'px'; | |
visElement.appendChild(bar); | |
} |