redux-devtools/packages/d3tooltip/README.md
Nathan Bierema b323f77d31
Upgrade D3 to v4 (#1307)
* Update packages

* Fix after update

* Update some types

* Remove attr

* Finish d3tooltip

* Update style option

* Updates

* Zoom

* Update

* Update

* Update

* Fix

* Update

* Update

* Update

* Update

* Update

* Fixes

* Update id type

* Fix enter + update selections

* Use this

* Fix stringifying

* Remove InputOptions

* Use data.value

* Updates

* Remove UMD builds

* Fix exit

* No need to re-assign

* Simplify d3tooltip API

* Update redux-devtools-chart-monitor

* Update redux-devtools-app

* Update

* Update

* Remove @types/prop-types

* Update prop types

* Update d3tooltip docs

* Update d3-state-visualizer docs

* Update chart-monitor docs

* Create weak-kings-brake.md

* Create spicy-olives-compete.md

* Create friendly-coats-trade.md

* Create slimy-elephants-flash.md

* Fix empty arrays
2023-01-02 14:19:13 -05:00

2.7 KiB

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

Option Type Default Description
root DOM.Element body The tooltip will be added as a child of that element. You can also use a D3 selection.
left Number undefined Sets the tooltip x absolute position instead of the mouse x position, relative to the root element.
top Number undefined Sets the tooltip y absolute position instead of the mouse y position, relative to the root element.
offset Object {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.
styles Object {} Sets the styles of the tooltip element.
text String or Function '' Sets the text of the tooltip. Can be a constant string or a function that takes the datum and returns a string.