JSFiddle - React, Tailwind, and code Playground

by Boro

HTML

<!--[if lt IE 9]><script language="javascript" type="text/javascript" src="https://bitbucket.org/cleonello/jqplot/raw/b5a7796a9ebf/src/excanvas.js"></script><![endif]-->

<script language="javascript" type="text/javascript" src="https://bitbucket.org/cleonello/jqplot/raw/b5a7796a9ebf/src/jquery.jqplot.js"></script>

<script language="javascript" type="text/javascript" src="https://bitbucket.org/cleonello/jqplot/raw/b5a7796a9ebf/src/plugins/jqplot.canvasTextRenderer.js"></script>

<script language="javascript" type="text/javascript" src="https://bitbucket.org/cleonello/jqplot/raw/b5a7796a9ebf/src/plugins/jqplot.categoryAxisRenderer.js"></script>
  
<script language="javascript" type="text/javascript" src="https://bitbucket.org/cleonello/jqplot/raw/b5a7796a9ebf/src/plugins/jqplot.canvasAxisLabelRenderer.js"></script>

<script language="javascript" type="text/javascript" src="https://bitbucket.org/cleonello/jqplot/raw/b5a7796a9ebf/src/plugins/jqplot.canvasAxisTickRenderer.js"></script>

<script language="javascript" type="text/javascript" src="https://bitbucket.org/cleonello/jqplot/raw/b5a7796a9ebf/src/plugins/jqplot.canvasOverlay.js"></script>

<script language="javascript" type="text/javascript" src="https://bitbucket.org/cleonello/jqplot/raw/b5a7796a9ebf/src/plugins/jqplot.dateAxisRenderer.js"></script>

<script language="javascript" type="text/javascript" src="https://bitbucket.org/cleonello/jqplot/raw/b5a7796a9ebf/src/plugins/jqplot.highlighter.js"></script>


<div id="ChartDIV"> </div>

CSS

/*rules for the plot target div.  These will be cascaded down to all plot elements according to css rules*/
.jqplot-target {
    position: relative;
    color: #666666;
    font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
    font-size: 1em;
/*    height: 300px;
    width: 400px;*/
}

/*rules applied to all axes*/
.jqplot-axis {
    font-size: 0.75em;
}

.jqplot-xaxis {
    margin-top: 10px;
}

.jqplot-x2axis {
    margin-bottom: 10px;
}

.jqplot-yaxis {
    margin-right: 10px;
}

.jqplot-y2axis, .jqplot-y3axis, .jqplot-y4axis, .jqplot-y5axis, .jqplot-y6axis, .jqplot-y7axis, .jqplot-y8axis, .jqplot-y9axis, .jqplot-yMidAxis {
    margin-left: 10px;
    margin-right: 10px;
}

/*rules applied to all axis tick divs*/
.jqplot-axis-tick, .jqplot-xaxis-tick, .jqplot-yaxis-tick, .jqplot-x2axis-tick, .jqplot-y2axis-tick, .jqplot-y3axis-tick, .jqplot-y4axis-tick, .jqplot-y5axis-tick, .jqplot-y6axis-tick, .jqplot-y7axis-tick, .jqplot-y8axis-tick, .jqplot-y9axis-tick, .jqplot-yMidAxis-tick {
    position: absolute;
    white-space: pre;
}


.jqplot-xaxis-tick {
    top: 0px;
    /* initial position untill tick is drawn in proper place */
    left: 15px;
/*    padding-top: 10px;*/
    vertical-align: top;
}

.jqplot-x2axis-tick {
    bottom: 0px;
    /* initial position untill tick is drawn in proper place */
    left: 15px;
/*    padding-bottom: 10px;*/
    vertical-align: bottom;
}

.jqplot-yaxis-tick {
    right: 0px;
    /* initial position untill tick is drawn in proper place */
    top: 15px;
/*    padding-right: 10px;*/
    text-align: right;
}

.jqplot-yaxis-tick.jqplot-breakTick {
    right: -20px;
    margin-right: 0px;
    padding:1px 5px 1px 5px;
/*    background-color: white;*/
    z-index: 2;
    font-size: 1.5em;
}

.jqplot-y2axis-tick, .jqplot-y3axis-tick, .jqplot-y4axis-tick, .jqplot-y5axis-tick, .jqplot-y6axis-tick, .jqplot-y7axis-tick, .jqplot-y8axis-tick, .jqplot-y9axis-tick {
    left: 0px;
    /* initial position untill tick is drawn in proper...

JavaScript

$(function() {
    $.jqplot.tickNumberFormatter = function(format, val) {
        if (typeof val == 'number') {
            if (val == "3.0") {
                return String("High");
            }
            else if (val == "2.0") {
                return String("Medium");
            }
            else if (val == "1.0") {
                return String("Low");
            }
            else return String(" ");
        }
        else {
            return String(val);
        }
    };
    BuildReadinessGraph();
});


function BuildReadinessGraph() {
    var data = [['2012-09-13', 1], ['2012-10-22', 2], ['2012-01-12', 3]];

    $.jqplot.postDrawHooks.push(function() {
        var overlayCanvas = $($('.jqplot-overlayCanvas-canvas')[0])
        var seriesCanvas = $($('.jqplot-series-canvas')[0])
        seriesCanvas.detach();
        overlayCanvas.after(seriesCanvas);
        //  $(".jqplot-overlayCanvas-canvas").css('z-index', '0');//send overlay canvas to back  
        //   $(".jqplot-series-canvas").css('z-index', '1');//send series canvas to front         
        //    $(".jqplot-highlighter-tooltip").css('z-index', '2');
        //    $(".jqplot-event-canvas").css('z-index', '5');//must be on the very top since it is responsible for event catching and propagation
    });

    $.jqplot('ChartDIV', [data], {
        series: [{
            showMarker: true}],
        seriesDefaults: {
            showMarker: true,
            pointLabels: {
                show: true
            }
        },
        highlighter: {
            sizeAdjust: 10,
            show: true,
            tooltipLocation: 'n',
            useAxesFormatters: true
        },

        tickOptions: {
            formatString: '%d'
        },
        canvasOverlay: {
            show: true,
            objects: [
                {
                horizontalLine: {
                    name: 'low',
                    y: 1.0,
                    lineWidth: 100,
                    color: 'rgba(255,...