4.0.0 • Published 1 month ago

d3tooltip v4.0.0

Weekly downloads
1,171
License
MIT
Repository
github
Last release
1 month ago

d3tooltip

This tooltip aims for a minimal yet highly configurable API. It has a long way to go, but the essentials are there. It was created by @romseguy and merged from romseguy/d3tooltip.

Installation

npm install d3-state-visualizer

Quick usage

import * as d3 from 'd3';
import { tooltip } from 'd3tooltip';

const DOMNode = document.getElementById('chart');
const root = d3.select(DOMNode);
const vis = root.append('svg');

const options = {
  offset: { left: 30, top: 10 },
  styles: { 'min-width': '50px', 'border-radius': '5px' },
};

vis
  .selectAll('circle')
  .data(someData)
  .enter()
  .append('circle')
  .attr('r', 10)
  .call(
    d3tooltip('tooltipClassName', {
      ...options,
      text: (d) => toStringOrHtml(d),
    }),
  )
  .on('mouseover', function () {
    d3.select(this).style('fill', 'skyblue');
  })
  .on('mouseout', function () {
    d3.select(this).style('fill', 'black');
  });

API

OptionTypeDefaultDescription
rootDOM.ElementbodyThe tooltip will be added as a child of that element. You can also use a D3 selection.
leftNumberundefinedSets the tooltip x absolute position instead of the mouse x position, relative to the root element.
topNumberundefinedSets the tooltip y absolute position instead of the mouse y position, relative to the root element.
offsetObject{left: 0, top: 0}Sets the distance, starting from the cursor position, until the tooltip is rendered. Warning: only applicable if you don't provide a left or top option.
stylesObject{}Sets the styles of the tooltip element.
textString or Function''Sets the text of the tooltip. Can be a constant string or a function that takes the datum and returns a string.
4.0.0

1 month ago

3.0.1

5 months ago

3.0.0

1 year ago

1.3.2

2 years ago

2.1.0

2 years ago

2.0.0

2 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.3

4 years ago

1.2.2

8 years ago

1.2.1

8 years ago

1.2.0

8 years ago

1.0.2

9 years ago