JSFiddle - React, Tailwind, and code Playground

by yonet3d

HTML

<body>
    
</body>

CSS

body {
  font: 10px sans-serif;
}

.axis path,
.axis line {
  fill: none;
  stroke: #000;
  shape-rendering: crispEdges;
}

.x.axis path {
  display: none;
}

.line {
  fill: none;
  stroke: steelblue;
  stroke-width: 1.5px;
}

JavaScript

var xScale = d3.time.scale().range([0, 200]); //0 to width
var yScale = d3.scale.linear().range([200, 0]); // height to 0
var parseDate = d3.time.format("%d-%b-%y").parse;

var data = [
    {date: '1-May-12', stat: 48},
    {date: '17-Apr-12', stat: 32},
    {date: '1-Mar-12', stat: 25},
    {date: '1-Feb-12', stat: 43},
    {date: '9-Jan-12', stat: 56}
]

data.forEach(function(d){
	d.date = parseDate(d.date);
})
xScale.domain(d3.extent(data, function(d) { return d.date;}))
yScale.domain(d3.extent(data, function(d) { return d.stat; }))
var line = d3.svg.line()
	.interpolate("basis")
	.x(function(d) {
		return xScale(d.date);
	})
	.y(function(d) {
		return yScale(d.stat);
	});

var svg = d3.select("body").append("svg")
    .attr("width", 200)
    .attr("height", 200)
  .append("g")
    .attr("transform", "translate(5,10)");

svg.append("path")
      .datum(data)
      .attr("class", "line")
      .attr("d", line);