JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://people.iola.dk/olau/flot/jquery.flot.js"></script>
<h1>Flot Examples</h1>
<div id="placeholder" style="width:600px;height:300px"></div>
<p>One of the goals of Flot is to support user interactions. Try
pointing and clicking on the points.</p>
<p id="hoverdata">Mouse hovers at
(<span id="x">0</span>, <span id="y">0</span>). <span id="clickdata"></span></p>
<p>A tooltip is easy to build with a bit of jQuery code and the
data returned from the plot.</p>
<p><input id="enableTooltip" type="checkbox" checked>Enable tooltip</p>
JavaScript
$(function() {
var clickedItems = [];
var d = [{
label: "Fake!",
data: [[1290802154, 0.3], [1292502155, 0.1]]}];
var options = {
xaxis: {
mode: "time"
},
series: {
lines: {
show: true
},
points: {
show: true
}
},
grid: {
hoverable: true,
clickable: true
}
};
$.plot($("#placeholder"), d, options);
function showTooltip(x, y, contents) {
$('<div id="tooltip">' + contents + '</div>').css({
position: 'absolute',
display: 'none',
top: y + 5,
left: x + 5,
border: '1px solid #fdd',
padding: '2px',
'background-color': '#fee',
opacity: 0.80
}).appendTo("body").fadeIn(200);
}
var previousPoint = null;
$("#placeholder").bind("plothover", function(event, pos, item) {
$("#x").text(pos.x.toFixed(2));
$("#y").text(pos.y.toFixed(2));
if (item) {
if (previousPoint != item.datapoint) {
previousPoint = item.datapoint;
$("#tooltip").remove();
var x = item.datapoint[0].toFixed(2),
y = item.datapoint[1].toFixed(2),
//set default content for tooltip
content = item.series.label + " of " + x + " = " + y;
// if there is a cached item object at this index use it instead
if(clickedItems[item.dataIndex])
content = clickedItems[item.dataIndex].alternateText;
//now show tooltip
showTooltip(item.pageX, item.pageY, content);
}
}
else {
$("#tooltip").remove();
previousPoint = null;
}
});
$("#placeholder").bind("plotclick", function(event, pos, item) {
if...