D3.js Heat Map
This heat-map allows the user to
- hover over specific cells for more information
- toggle between 3 color palettes
- toggle between a quantize scale and a quantile scale
In addition to the map's cells changing color based on the button presses, the legend dynamically changes.
Tooltip
The Tooltip is implemented by means of a JavaScript class and is written to be easily reuseable in other D3 projects. Below see the configuration object settings. Many of the properties are optional.
let tooltip = new Tooltip({
// containing element's width
containerWidth: 100,
// containing element's height
containerHeight: 100,
// desired tooltip internal padding
paddingHorizontal: 20,
paddingVertical: 15,
// time it will take for tooltip to disappear on cell mouse-out
timeoutDurationInMs: 2000
});
.addTextElement(id)
allows easy adding of text lines and adds vertical space to the
tooltip accordingly.
.setTextElement(id, textValue)
sets text of course, and resizes the produced tooltip to fit the text
based on all set text. This method will also add a text element via addTextElement(id)
if the entered id does not correspond to an existing text element.
.setPos(x, y, isHorizontallyCenteredOnPoint=false)
allows for the tooltip
to be centered horizontally on, or have its origin placed at, the given x and y points, unless
so placing the tooltip would place it outside the given containerWidth
and
containerHeight
that were entered in the config when the class object was
initialized. This method will keep the tooltip entirely inside those given dimensions.