function mousemove(event) {
try {
var xMouse = d3.pointer(event)[0];
const scaleDate = dataPlot.scale("x");
const scaleTemp = dataPlot.scale("y");
const xDomain = dataPlot.scale("x").domain;
const yDomain = dataPlot.scale("y").domain;
var x0 = scaleDate.invert(xMouse);
var i = bisectData(curveData, x0, 1),
d0 = curveData[i - 1],
d1 = curveData[i],
d = x0 - d0.date > d1.date - x0 ? d1 : d0;
var toolTip = d3.select(".toolTip");
toolTip
.select(".x-line")
.attr(
"transform",
"translate(" +
scaleDate.apply(d.date) +
"," +
scaleTemp.apply(d.temperature) +
")"
)
.attr("y2", scaleTemp.apply(yDomain[0]) - scaleTemp.apply(d.temperature));
toolTip
.select(".y-line")
.attr(
"transform",
"translate(" +
scaleDate.apply(d.date) +
"," +
scaleTemp.apply(d.temperature) +
")"
)
.attr("x2", scaleDate.apply(xDomain[0]) - scaleDate.apply(d.date));
toolTip
.select(".circle")
.attr(
"transform",
"translate(" +
scaleDate.apply(d.date) +
"," +
scaleTemp.apply(d.temperature) +
")"
);
toolTip
.select("text.y1")
.attr(
"transform",
"translate(" +
scaleDate.apply(d.date) +
"," +
scaleTemp.apply(d.temperature) +
")"
)
.text("T: " + d.temperature + " °C");
toolTip
.select("text.y2")
.attr(
"transform",
"translate(" +
scaleDate.apply(d.date) +
"," +
scaleTemp.apply(d.temperature) +
")"
)
.text(
"D: " +
new Date(d.date * 1000).toLocaleString("de-DE").split(",")[1].trim()
);
} catch (error) {
}
}