JSFiddle - React, Tailwind, and code Playground

CSS

text.inner-circle {
  font-weight: 400;
  font-size: 12px;
  text-transform: uppercase;
}
text.inner-text {
  font-weight: 400;
  font-size: 36px;
  font-family: 'Metric Regular', 'Metric';
  text-align: center;
  font-style: normal;
  text-transform: uppercase;
}
path {
  stroke: steelblue;
  stroke-width: 2;
  fill: none;
}
.axis path,
.axis line {
  fill: none;
  stroke: grey;
  stroke-width: 2;
  shape-rendering: crispEdges;
}
.grid .tick {
  stroke: lightgrey;
  stroke-opacity: 0.7;
  shape-rendering: crispEdges;
}
.grid path {
  stroke-width: 0;
}

JavaScript

var margin = {
    top: 20,
    right: 30,
    bottom: 30,
    left: 40
  },
  width = 960 - margin.left - margin.right,
  height = 500 - margin.top - margin.bottom;

var z = d3.scale.category20c();

var svg = d3.select("body").append("svg")
  .attr("width", width + margin.left + margin.right)
  .attr("height", height + margin.top + margin.bottom)
  .append("g")
  .attr("transform", "translate(" + margin.left + "," + margin.top + ")");

var parseDate = d3.time.format("%Y-%m-%dT%H:%M:%S.%LZ");

var data = [{
  data: [
    ["2016-01-20T05:31:17.000Z", 95.9, {}],
    ["2016-01-20T05:31:47.000Z", 95.9, {}],
    ["2016-01-20T05:32:17.000Z", 95.4, {}],
    ["2016-01-20T05:32:47.000Z", 96.1, {}],
    ["2016-01-20T05:33:17.000Z", 95.7, {}],
    ["2016-01-20T05:33:47.000Z", 95.9, {}],
    ["2016-01-20T05:34:17.000Z", 95.5, {}],
    ["2016-01-20T05:34:47.000Z", 95.9, {}],
    ["2016-01-20T05:35:17.000Z", 95.8, {}],
    ["2016-01-20T05:35:47.000Z", 95.9, {}],
    ["2016-01-20T05:36:17.000Z", 95.7, {}],
    ["2016-01-20T05:36:47.000Z", 95.7, {}],
    ["2016-01-20T05:37:17.000Z", 95.9, {}],
    ["2016-01-20T05:37:47.000Z", 95.5, {}],
    ["2016-01-20T05:38:17.000Z", 95.4, {}],
    ["2016-01-20T05:38:47.000Z", 95.8, {}],
    ["2016-01-20T05:39:17.000Z", 96.0, {}],
    ["2016-01-20T05:39:47.000Z", 96.1, {}],
    ["2016-01-20T05:40:17.000Z", 95.8, {}],
    ["2016-01-20T05:40:47.000Z", 96.0, {}],
    ["2016-01-20T05:41:17.000Z", 95.9, {}],
    ["2016-01-20T05:41:47.000Z", 94.9, {}],
    ["2016-01-20T05:42:17.000Z", 95.8, {}],
    ["2016-01-20T05:42:47.000Z", 95.9, {}],
    ["2016-01-20T05:43:17.000Z", 95.8, {}],
    ["2016-01-20T05:43:47.000Z", 96.0, {}],
    ["2016-01-20T05:44:17.000Z", 95.7, {}],
    ["2016-01-20T05:44:47.000Z", 96.0, {}],
    ["2016-01-20T05:45:17.000Z", 95.9, {}],
    ["2016-01-20T05:45:47.000Z", 96.0, {}],
    ["2016-01-20T05:46:17.000Z", 95.8, {}],
    ["2016-01-20T05:46:47.000Z", 96.0, {}],
    ["2016-01-20T05:47:17.000Z", 95.7, {}],
   ...