JSFiddle - React, Tailwind, and code Playground

HTML

<div id="container" style="height: 180px"></div>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/highcharts-more.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>

JavaScript

// Define tasks
var data = [

{
    Equipment: 'A',
    statuses: [{
        name: 'Up',
        intervals: [{ // From-To pairs
            from: Date.UTC(0, 0, 0, 0),
            to: Date.UTC(0, 0, 0, 2)
        }, {
            from: Date.UTC(0, 0, 0, 22),
            to: Date.UTC(0, 0, 0, 24)
        }]
    }, {
        name: 'Down',
        intervals: [{ // From-To pairs
            from: Date.UTC(0, 0, 0, 2),
            to: Date.UTC(0, 0, 0, 22)
        }]
    }]
},

{
    Equipment: 'B',
    statuses: [{
        name: 'Up',
        intervals: [{ // From-To pairs
            from: Date.UTC(0, 0, 0, 0),
            to: Date.UTC(0, 0, 0, 7)
        }, {
            from: Date.UTC(0, 0, 0, 16),
            to: Date.UTC(0, 0, 0, 24)
        }]
    }, {
        name: 'Down',
        intervals: [{ // From-To pairs
            from: Date.UTC(0, 0, 0, 7),
            to: Date.UTC(0, 0, 0, 16)
        }]
    }]
}, {
    Equipment: 'C',
    statuses: [{
        name: 'Up',
        intervals: [{ // From-To pairs
            from: Date.UTC(0, 0, 0, 0),
            to: Date.UTC(0, 0, 0, 4)
        }, {
            from: Date.UTC(0, 0, 0, 12),
            to: Date.UTC(0, 0, 0, 24)
        }]
    }, {
        name: 'Down',
        intervals: [{ // From-To pairs
            from: Date.UTC(0, 0, 0, 4),
            to: Date.UTC(0, 0, 0, 12)
        }]
    }]
}

];

var statusDict = {};

// re-structure the tasks into line seriesvar series = [];
var series = [];
var height = 0;
$.each(data.reverse(), function (i, eq) {
    var equipmentName = eq.Equipment;
    height = i;
    $.each(eq.statuses, function (j, statusData) {

        var status = {
            name: statusData.name,
            data: []
        };
        $.each(statusData.intervals, function (k, interval) {
            status.data.push({
                name: status.name,
                x: interval.from,
                y: height,
                from: interval.from,
                to: interval.to
           ...