Programaticaly highlight coordinates on jqPlot.

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jqPlot/1.0.8/jquery.jqplot.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqPlot/1.0.8/plugins/jqplot.canvasTextRenderer.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqPlot/1.0.8/plugins/jqplot.canvasAxisLabelRenderer.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqPlot/1.0.8/plugins/jqplot.highlighter.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqPlot/1.0.8/plugins/jqplot.cursor.min.js"></script>
<div id="chart">

</div>
<input id="buttonPrev" type="button" value="Prev" />
<input id="buttonNext" type="button" value="Next" />

CSS

#chart {
  width: 400px;
  height: 400px;
}

//jquery.jqplot.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...

JavaScript

//In order to use keyboard highlight of the coordinates please click somewhere inside the Result frame.
$(document).ready(function() {
  // Some simple loops to build up data arrays.
  var cosPoints = [];
  for (var i = 0; i < 4 * Math.PI; i += 0.8) {
    cosPoints.push([i, Math.cos(i)]);
  }

  var plot3 = $.jqplot('chart', [cosPoints], {
    cursor: {
      show: true,
      showTooltip: true,
      showTooltipGridPosition: true,
      //  showTooltipDataPosition: false,
      showTooltipUnitPosition: false,
      useAxesFormatters: false,
      // showVerticalLine : true,
      followMouse: true
    },
    title: 'Line Style Options',
    // Series options are specified as an array of objects, one object
    series: [{
      // Change our line width and use a diamond shaped marker.
      lineWidth: 2,
      color: 'red',
      markerOptions: {
        style: 'diamond',
        color: 'black'
      }
    }, {
      // Don't show a line, just show markers.
      // Make the markers 7 pixels with an 'x' style
      showLine: false,
      markerOptions: {
        size: 7,
        style: "x"
      }
    }, {
      // Use (open) circlular markers.
      markerOptions: {
        style: "circle"
      }
    }, {
      // Use a thicker, 5 pixel line and 10 pixel
      // filled square markers.
      lineWidth: 5,
      markerOptions: {
        style: "filledSquare",
        size: 10
      }
    }]
  });

  $('#chart').bind('jqplotDataClick', function(ev, seriesIndex, pointIndex, data) {
    alert(data);
  });

  var counter = -1; //to start from the very first on first next click, on prev click it will start from last -- and this is how we want it
  $('#buttonPrev').bind("click", function() {
    counter--;
    DoSomeThing(plot3);
  });

  $('#buttonNext').bind("click", function() {
    counter++;
    DoSomeThing(plot3);
  });

  $(document).keydown(function(e) {
    if (e.keyCode == 37) {
      $('#buttonPrev').click();
    } else if (e.keyCode == 39) {
     ...