JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/crossfilter/1.3.11/crossfilter.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dc/1.7.3/dc.min.js"></script>
<div class="page-header">
        <h1>Data logger report</h1>
    </div>
    <div id='chart'>
     </div>

    <div class="month-eff-chart">
      <a class='reset' href='javascript:myChart.filterAll();dc.redrawAll();' style='display: none;'>reset</a>
      <span class='reset' style='display: none;'>Current filter: <span class='filter'></span></span><br/>
    </div>
    <div class="day-eff-chart">
      <a class='reset' href='javascript:myChart.filterAll();dc.redrawAll();' style='display: none;'>reset</a>
      <span class='reset' style='display: none;'>Current filter: <span class='filter'></span></span><br/>
    </div><br/>
    <div class="hour-eff-chart">
      <a class='reset' href='javascript:myChart.filterAll();dc.redrawAll();' style='display: none;'>reset</a>
      <span class='reset' style='display: none;'>Current filter: <span class='filter'></span></span><br/>
    </div><br/>

CSS

div.dc-chart {
    float: left;
}

.dc-chart rect.bar {
    stroke: none;
    cursor: pointer;
}

.dc-chart rect.bar:hover {
    fill-opacity: .5;
}

.dc-chart rect.stack1 {
    stroke: none;
    fill: red;
}

.dc-chart rect.stack2 {
    stroke: none;
    fill: green;
}

.dc-chart rect.deselected {
    stroke: none;
    fill: #ccc;
}

.dc-chart .empty-chart .pie-slice path {
    fill: #FFEEEE;
    cursor: default;
}

.dc-chart .empty-chart .pie-slice {
    cursor: default;
}

.dc-chart .pie-slice {
    fill: white;
    font-size: 12px;
    cursor: pointer;
}

.dc-chart .pie-slice.external{
    fill: black;
}

.dc-chart .pie-slice :hover {
    fill-opacity: .8;
}

.dc-chart .pie-slice.highlight {
    fill-opacity: .8;
}

.dc-chart .selected path {
    stroke-width: 3;
    stroke: #ccc;
    fill-opacity: 1;
}

.dc-chart .deselected path {
    stroke: none;
    fill-opacity: .5;
    fill: #ccc;
}

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

.dc-chart .axis text {
    font: 10px sans-serif;
}

.dc-chart .grid-line {
    fill: none;
    stroke: #ccc;
    opacity: .5;
    shape-rendering: crispEdges;
}

.dc-chart .grid-line line {
    fill: none;
    stroke: #ccc;
    opacity: .5;
    shape-rendering: crispEdges;
}

.dc-chart .brush rect.background {
    z-index: -999;
}

.dc-chart .brush rect.extent {
    fill: steelblue;
    fill-opacity: .125;
}

.dc-chart .brush .resize path {
    fill: #eee;
    stroke: #666;
}

.dc-chart path.line {
    fill: none;
    stroke-width: 1.5px;
}

.dc-chart circle.dot {
    stroke: none;
}

.dc-chart g.dc-tooltip path {
    fill: none;
    stroke: grey;
    stroke-opacity: .8;
}

.dc-chart path.area {
    fill-opacity: .3;
    stroke: none;
}

.dc-chart .node {
    font-size: 0.7em;
    cursor: pointer;
}

.dc-chart .node :hover {
    fill-opacity: .8;
}

.dc-chart .selected circle {
    stroke-width: 3;
    stroke: #ccc;
    fill-opacity: 1;
}

.dc-chart .deselected circle...

JavaScript

var dataArray = 
  [{
    "id": "55a4ad4d32f8eae442d77e31",
    "cycle_time": 6,
    "efficiency": 80,
    "date": "Tue Jul 07 2015 09:51:50 GMT+0000 (UTC)"
  },
  {
    "id": "55a4ad4d01b465b62381a8a9",
    "cycle_time": 10,
    "efficiency": 93,
    "date": "Sun May 31 2015 18:57:50 GMT+0000 (UTC)"
  },
  {
    "id": "55a4ad4dfba45cff54ee54b4",
    "cycle_time": 6,
    "efficiency": 92,
    "date": "Fri Feb 27 2015 03:25:26 GMT+0000 (UTC)"
  },
  {
    "id": "55a4ad4d4006624389f34d7d",
    "cycle_time": 6,
    "efficiency": 91,
    "date": "Tue Feb 17 2015 08:07:38 GMT+0000 (UTC)"
  },
  {
    "id": "55a4ad4da48fe737e44e0b8c",
    "cycle_time": 9,
    "efficiency": 92,
    "date": "Wed Mar 25 2015 09:26:19 GMT+0000 (UTC)"
  },
  {
    "id": "55a4ad4de5f40531c39aaee9",
    "cycle_time": 9,
    "efficiency": 95,
    "date": "Wed Jul 08 2015 06:07:15 GMT+0000 (UTC)"
  },
  {
    "id": "55a4ad4d273be9f0e2650200",
    "cycle_time": 9,
    "efficiency": 95,
    "date": "Sun Feb 22 2015 16:11:28 GMT+0000 (UTC)"
  },
  {
    "id": "55a4ad4d5e229f747c23c717",
    "cycle_time": 8,
    "efficiency": 80,
    "date": "Tue May 05 2015 09:47:49 GMT+0000 (UTC)"
  },
  {
    "id": "55a4ad4dc6f8f9578bf2f1bb",
    "cycle_time": 6,
    "efficiency": 80,
    "date": "Wed Jul 08 2015 18:53:18 GMT+0000 (UTC)"
  },
  {
    "id": "55a4ad4dd9826e860e6c60ae",
    "cycle_time": 9,
    "efficiency": 81,
    "date": "Wed Jun 24 2015 21:53:19 GMT+0000 (UTC)"
  },
  {
    "id": "55a4ad4dac68b58658be1383",
    "cycle_time": 7,
    "efficiency": 87,
    "date": "Tue Jun 16 2015 14:26:57 GMT+0000 (UTC)"
  },
  {
    "id": "55a4ad4dc12d212e02085695",
    "cycle_time": 8,
    "efficiency": 90,
    "date": "Fri Jul 03 2015 22:39:14 GMT+0000 (UTC)"
  },
  {
    "id": "55a4ad4d518410f051041a97",
    "cycle_time": 7,
    "efficiency": 93,
    "date": "Sun Feb 15 2015 04:52:19 GMT+0000 (UTC)"
  },
  {
    "id": "55a4ad4da0e519bde6c1ff20",
    "cycle_time": 9,
    "efficiency": 95,
    "date": "Mon Jul...