JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://d3js.org/d3.v2.min.js"></script>
CSS
.line {
fill:none;
stroke:black;
}
JavaScript
// your user data
var userdata = {
'John' : [0, 1, 3, 9, 8, 7],
'Harry': [0, 10, 7, 1, 1, 11],
'Steve': [3, 1, 4, 4, 4, 17],
'Adam' : [4, 77, 2, 13, 11, 13]
};
// add your main SVG block
var svg = d3.select('body')
.append('svg')
.attr('width', 400)
.attr('height', 200)
.attr('id', 'chart');
// add an SVG group element for each user
var series = svg.selectAll('g.series')
.data(d3.keys(userdata))
.enter()
.append('g')
.attr('class', 'series');
// create your line generator
var line = d3.svg.line()
.interpolate('basis')
.x(function(d, i) {
return i*40;
})
.y(function(d) {
return d*3;
});
// add a line for each user using your SVG grouping
var lineSVG = series.selectAll('.line')
.data(d3.keys(userdata))
.enter()
.append('svg:path')
.attr('d', function(d) {
return line(userdata[d]);
})
.attr('class','line');