JSFiddle - React, Tailwind, and code Playground
by devgru
HTML
<script src="https://d3js.org/d3.v3.min.js"></script>
JavaScript
var data = [
{ 'a': 1, 'b': 2 },
{ 'a': 42, 'b': 7 },
{ 'a': 15, 'b': 3 },
{ 'a': 32, 'b': 8 },
{ 'a': 26, 'b': 9 },
{ 'a': 18, 'b': 5 }
]
var margin = {top: 20, right: 10, bottom: 20, left: 10}
var fullWidth = 500
var fullHeight = 500
var width = fullWidth - margin.left - margin.right
var height = fullHeight - margin.top - margin.bottom
var x = d3.scale.linear()
.domain([0, 5])
.range([0, 300])
var y = d3.scale.linear()
.domain([0, 50])
.range([300, 0])
var color = d3.scale.linear()
.domain([0, 10])
.range(['#500', '#F00'])
d3.select('body')
.append('svg')
.attr('width', fullWidth)
.attr('height', fullHeight)
.append('g')
.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')
.selectAll('circle')
.data(data)
.enter()
.append('circle')
.attr('r', 5)
.attr('cx', (d, i) => x(i))
.attr('cy', (d, i) => y(d.a))
.attr('fill', (d, i) => color(d.b))