From b3f968be9b5b1e0fac921d608f94abafdffb406b Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Wed, 1 Mar 2023 11:46:58 -0800 Subject: [PATCH 01/35] tooltip --- src/context.d.ts | 3 + src/context.js | 7 +- src/index.d.ts | 1 + src/index.js | 1 + src/marks/dot.js | 2 +- src/marks/tooltip.d.ts | 44 + src/marks/tooltip.js | 78 + src/plot.js | 8 +- test/marks/rule-test.js | 1 + test/output/athletesTooltip.svg | 11210 ++++++++++++++++++++++++++++++ test/plots/athletes-tooltip.ts | 17 + test/plots/index.ts | 1 + 12 files changed, 11368 insertions(+), 5 deletions(-) create mode 100644 src/marks/tooltip.d.ts create mode 100644 src/marks/tooltip.js create mode 100644 test/output/athletesTooltip.svg create mode 100644 test/plots/athletes-tooltip.ts diff --git a/src/context.d.ts b/src/context.d.ts index 3e23ee0dc0..84b8d13646 100644 --- a/src/context.d.ts +++ b/src/context.d.ts @@ -8,6 +8,9 @@ export interface Context { */ document: Document; + /** The current owner SVG element. */ + ownerSVGElement: SVGSVGElement; + /** The Plot’s (typically generated) class name, for custom styles. */ className: string; diff --git a/src/context.js b/src/context.js index 56d83886bf..a87e838caf 100644 --- a/src/context.js +++ b/src/context.js @@ -3,7 +3,12 @@ import {createProjection} from "./projection.js"; export function createContext(options = {}, dimensions, className) { const {document = typeof window !== "undefined" ? window.document : undefined} = options; - return {document, className, projection: createProjection(options, dimensions)}; + return { + document, + ownerSVGElement: creator("svg").call(document.documentElement), + className, + projection: createProjection(options, dimensions) + }; } export function create(name, {document}) { diff --git a/src/index.d.ts b/src/index.d.ts index 87cb46de1b..e9889815e2 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -31,6 +31,7 @@ export * from "./marks/rect.js"; export * from "./marks/rule.js"; export * from "./marks/text.js"; export * from "./marks/tick.js"; +export * from "./marks/tooltip.js"; export * from "./marks/tree.js"; export * from "./marks/vector.js"; export * from "./options.js"; diff --git a/src/index.js b/src/index.js index d0fbf51546..2ecd210aad 100644 --- a/src/index.js +++ b/src/index.js @@ -24,6 +24,7 @@ export {Rect, rect, rectX, rectY} from "./marks/rect.js"; export {RuleX, RuleY, ruleX, ruleY} from "./marks/rule.js"; export {Text, text, textX, textY} from "./marks/text.js"; export {TickX, TickY, tickX, tickY} from "./marks/tick.js"; +export {Tooltip, tooltip} from "./marks/tooltip.js"; export {tree, cluster} from "./marks/tree.js"; export {Vector, vector, vectorX, vectorY, spike} from "./marks/vector.js"; export {valueof, column, identity, indexOf} from "./options.js"; diff --git a/src/marks/dot.js b/src/marks/dot.js index f9370a20fa..435ba798ef 100644 --- a/src/marks/dot.js +++ b/src/marks/dot.js @@ -69,7 +69,7 @@ export class Dot extends Mark { const {x: X, y: Y, r: R, rotate: A, symbol: S} = channels; const {r, rotate, symbol} = this; const [cx, cy] = applyFrameAnchor(this, dimensions); - const circle = this.symbol === symbolCircle; + const circle = symbol === symbolCircle; const size = R ? undefined : r * r * Math.PI; if (negative(r)) index = []; return create("svg:g", context) diff --git a/src/marks/tooltip.d.ts b/src/marks/tooltip.d.ts new file mode 100644 index 0000000000..99750a53f0 --- /dev/null +++ b/src/marks/tooltip.d.ts @@ -0,0 +1,44 @@ +import type {ChannelValueSpec} from "../channel.js"; +import type {Data, FrameAnchor, MarkOptions, RenderableMark} from "../mark.js"; + +/** Options for the tooltip mark. */ +export interface TooltipOptions extends MarkOptions { + /** + * The horizontal position channel specifying the tooltip’s anchor, typically + * bound to the *x* scale. + */ + x?: ChannelValueSpec; + + /** + * The vertical position channel specifying the tooltip’s anchor, typically + * bound to the *y* scale. + */ + y?: ChannelValueSpec; + + /** + * The frame anchor specifies defaults for **x** and **y** based on the plot’s + * frame; it may be one of the four sides (*top*, *right*, *bottom*, *left*), + * one of the four corners (*top-left*, *top-right*, *bottom-right*, + * *bottom-left*), or the *middle* of the frame. For example, for tooltips + * distributed horizontally at the top of the frame: + * + * ```js + * Plot.tooltip(data, {x: "date", frameAnchor: "top"}) + * ``` + */ + frameAnchor?: FrameAnchor; +} + +/** + * Returns a new tooltip mark for the given *data* and *options*. + * + * If either **x** or **y** is not specified, the default is determined by the + * **frameAnchor** option. If none of **x**, **y**, and **frameAnchor** are + * specified, *data* is assumed to be an array of pairs [[*x₀*, *y₀*], [*x₁*, + * *y₁*], [*x₂*, *y₂*], …] such that **x** = [*x₀*, *x₁*, *x₂*, …] and **y** = + * [*y₀*, *y₁*, *y₂*, …]. + */ +export function tooltip(data?: Data, options?: TooltipOptions): Tooltip; + +/** The tooltip mark. */ +export class Tooltip extends RenderableMark {} diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js new file mode 100644 index 0000000000..26cc0b8be8 --- /dev/null +++ b/src/marks/tooltip.js @@ -0,0 +1,78 @@ +import {pointer, select} from "d3"; +import {Mark} from "../mark.js"; +import {maybeFrameAnchor, maybeTuple} from "../options.js"; +import {applyFrameAnchor} from "../style.js"; + +export class Tooltip extends Mark { + constructor(data, options = {}) { + const {x, y, maxRadius = 40, frameAnchor} = options; + super( + data, + { + x: {value: x, scale: "x", optional: true}, + y: {value: y, scale: "y", optional: true} + }, + options + ); + this.frameAnchor = maybeFrameAnchor(frameAnchor); + this.indexesBySvg = new WeakMap(); + this.maxRadius = +maxRadius; + } + render(index, {x, y, fx, fy}, {x: X, y: Y, channels}, dimensions, context) { + const [cx, cy] = applyFrameAnchor(this, dimensions); + const {maxRadius, fx: fxv, fy: fyv} = this; + const {marginLeft, marginTop} = dimensions; + const svg = context.ownerSVGElement; + let indexes = this.indexesBySvg.get(svg); + if (indexes) return void indexes.push(index); + this.indexesBySvg.set(svg, (indexes = [index])); + const dot = select(svg) + .on("pointermove", (event) => { + let i, xi, yi, fxi, fyi; + if (event.buttons === 0) { + const [xp, yp] = pointer(event); + let ri = maxRadius * maxRadius; + for (const index of indexes) { + const fxj = index.fx; + const fyj = index.fy; + const oxj = fx ? fx(fxj) - marginLeft : 0; + const oyj = fy ? fy(fyj) - marginTop : 0; + for (const j of index) { + const xj = (X ? X[j] : cx) + oxj; + const yj = (Y ? Y[j] : cy) + oyj; + const dx = xj - xp; + const dy = yj - yp; + const rj = dx * dx + dy * dy; + if (rj <= ri) (i = j), (ri = rj), (xi = xj), (yi = yj), (fxi = fxj), (fyi = fyj); + } + } + } + if (i === undefined) { + dot.attr("display", "none"); + } else { + dot.attr("display", "inline"); + dot.attr("transform", `translate(${xi},${yi})`); + const text = []; + if (x) text.push(`${x.label ?? "x"} = ${channels.x.value[i]}`); + if (y) text.push(`${y.label ?? "y"} = ${channels.y.value[i]}`); + if (fxv != null) text.push(`${fx.label ?? "fx"} = ${fxi}`); + if (fyv != null) text.push(`${fy.label ?? "fy"} = ${fyi}`); + title.text(text.join("\n")); + } + }) + .on("pointerdown pointerleave", () => dot.attr("display", "none")) + .append("g") + .attr("display", "none") + .attr("pointer-events", "all") + .attr("fill", "none") + .call((g) => g.append("circle").attr("r", maxRadius).attr("fill", "none")) + .call((g) => g.append("circle").attr("r", 4.5).attr("stroke", "red").attr("stroke-width", 1.5)); + const title = dot.append("title"); + return null; + } +} + +export function tooltip(data, {x, y, ...options} = {}) { + if (options.frameAnchor === undefined) [x, y] = maybeTuple(x, y); + return new Tooltip(data, {...options, x, y}); +} diff --git a/src/plot.js b/src/plot.js index 801f797c4a..9377b31674 100644 --- a/src/plot.js +++ b/src/plot.js @@ -1,6 +1,6 @@ import {select} from "d3"; import {createChannel, inferChannelScale} from "./channel.js"; -import {createContext, create} from "./context.js"; +import {createContext} from "./context.js"; import {createDimensions} from "./dimensions.js"; import {createFacets, recreateFacets, facetExclude, facetGroups, facetTranslate, facetFilter} from "./facet.js"; import {createLegends, exposeLegends} from "./legends.js"; @@ -204,7 +204,7 @@ export function plot(options = {}) { const {width, height} = dimensions; - const svg = create("svg", context) + const svg = select(context.ownerSVGElement) .attr("class", className) .attr("fill", "currentColor") .attr("font-family", "system-ui, sans-serif") @@ -261,7 +261,9 @@ export function plot(options = {}) { index = indexes[facetStateByMark.has(mark) ? f.i : 0]; index = mark.filter(index, channels, values); if (index.length === 0) continue; - index.fi = f.i; // TODO cleaner way of exposing the current facet index? + index.fx = f.x; + index.fy = f.y; + index.fi = f.i; } const node = mark.render(index, scales, values, subdimensions, context); if (node == null) continue; diff --git a/test/marks/rule-test.js b/test/marks/rule-test.js index 8973398725..f6f91e3b3d 100644 --- a/test/marks/rule-test.js +++ b/test/marks/rule-test.js @@ -1,5 +1,6 @@ import * as Plot from "@observablehq/plot"; import assert from "assert"; +import it from "../jsdom.js"; it("ruleX() has the expected defaults", () => { const rule = Plot.ruleX(); diff --git a/test/output/athletesTooltip.svg b/test/output/athletesTooltip.svg new file mode 100644 index 0000000000..114b42cfd9 --- /dev/null +++ b/test/output/athletesTooltip.svg @@ -0,0 +1,11210 @@ + + + + + female + + + + + + + + + + + + + + + + + 1.4 + 1.6 + 1.8 + 2.0 + 2.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.4 + 1.6 + 1.8 + 2.0 + 2.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.4 + 1.6 + 1.8 + 2.0 + 2.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.4 + 1.6 + 1.8 + 2.0 + 2.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.4 + 1.6 + 1.8 + 2.0 + 2.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.4 + 1.6 + 1.8 + 2.0 + 2.2 + + + + + + + + + + + + + 50 + 100 + 150 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1950 + + + male + + + + + + + + + + + + + + + + + + + + + + + 1960 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1970 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1980 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1990 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2000 + + + + + + + + + + + + + + + + + + + + 50 + 100 + 150 + + + + + + + + + + + + + + decade of birth + + + sex + + + ↑ height + + + weight → + + \ No newline at end of file diff --git a/test/plots/athletes-tooltip.ts b/test/plots/athletes-tooltip.ts new file mode 100644 index 0000000000..5cbbcb63d6 --- /dev/null +++ b/test/plots/athletes-tooltip.ts @@ -0,0 +1,17 @@ +import * as Plot from "@observablehq/plot"; +import * as d3 from "d3"; + +export async function athletesTooltip() { + const athletes = await d3.csv("data/athletes.csv", d3.autoType); + return Plot.plot({ + grid: true, + fy: { + label: "decade of birth", + transform: (d) => `${Math.floor(d.getUTCFullYear() / 10) * 10}` + }, + marks: [ + Plot.dot(athletes, {x: "weight", y: "height", fx: "sex", fy: "date_of_birth"}), + Plot.tooltip(athletes, {x: "weight", y: "height", fx: "sex", fy: "date_of_birth"}) + ] + }); +} diff --git a/test/plots/index.ts b/test/plots/index.ts index fed29255e1..bd8143223c 100644 --- a/test/plots/index.ts +++ b/test/plots/index.ts @@ -24,6 +24,7 @@ export * from "./athletes-sex-weight.js"; export * from "./athletes-sort.js"; export * from "./athletes-sport-sex.js"; export * from "./athletes-sport-weight.js"; +export * from "./athletes-tooltip.js"; export * from "./athletes-weight-cumulative.js"; export * from "./athletes-weight.js"; export * from "./autoplot.js"; From 3eff24c8e3bdcb4e4190f186eeb163bad33245da Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Tue, 2 May 2023 07:37:30 -0700 Subject: [PATCH 02/35] show all channels --- src/marks/axis.js | 2 +- src/marks/tooltip.js | 27 +- test/output/tooltipDotColor.svg | 421 ++++++++++++++++++ ...hletesTooltip.svg => tooltipDotFacets.svg} | 12 +- test/plots/index.ts | 2 +- .../plots/{athletes-tooltip.ts => tooltip.ts} | 15 +- 6 files changed, 463 insertions(+), 16 deletions(-) create mode 100644 test/output/tooltipDotColor.svg rename test/output/{athletesTooltip.svg => tooltipDotFacets.svg} (99%) rename test/plots/{athletes-tooltip.ts => tooltip.ts} (50%) diff --git a/src/marks/axis.js b/src/marks/axis.js index e9f7402445..22001686f6 100644 --- a/src/marks/axis.js +++ b/src/marks/axis.js @@ -576,7 +576,7 @@ function inferTextChannel(scale, ticks, tickFormat) { // D3’s ordinal scales simply use toString by default, but if the ordinal scale // domain (or ticks) are numbers or dates (say because we’re applying a time // interval to the ordinal scale), we want Plot’s default formatter. -function inferTickFormat(scale, ticks, tickFormat) { +export function inferTickFormat(scale, ticks, tickFormat) { return scale.tickFormat ? scale.tickFormat(isIterable(ticks) ? null : ticks, tickFormat) : tickFormat === undefined diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 26cc0b8be8..bc8f82c8ee 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -1,7 +1,15 @@ import {pointer, select} from "d3"; +import {formatDefault} from "../format.js"; import {Mark} from "../mark.js"; import {maybeFrameAnchor, maybeTuple} from "../options.js"; import {applyFrameAnchor} from "../style.js"; +import {inferTickFormat} from "./axis.js"; + +const defaults = { + ariaLabel: "tooltip", + fill: "none", + stroke: "none" +}; export class Tooltip extends Mark { constructor(data, options = {}) { @@ -12,13 +20,17 @@ export class Tooltip extends Mark { x: {value: x, scale: "x", optional: true}, y: {value: y, scale: "y", optional: true} }, - options + options, + defaults ); this.frameAnchor = maybeFrameAnchor(frameAnchor); this.indexesBySvg = new WeakMap(); this.maxRadius = +maxRadius; } - render(index, {x, y, fx, fy}, {x: X, y: Y, channels}, dimensions, context) { + render(index, scales, {x: X, y: Y, channels}, dimensions, context) { + const {fx, fy} = scales; + const formatFx = fx && inferTickFormat(fx); + const formatFy = fy && inferTickFormat(fy); const [cx, cy] = applyFrameAnchor(this, dimensions); const {maxRadius, fx: fxv, fy: fyv} = this; const {marginLeft, marginTop} = dimensions; @@ -53,10 +65,13 @@ export class Tooltip extends Mark { dot.attr("display", "inline"); dot.attr("transform", `translate(${xi},${yi})`); const text = []; - if (x) text.push(`${x.label ?? "x"} = ${channels.x.value[i]}`); - if (y) text.push(`${y.label ?? "y"} = ${channels.y.value[i]}`); - if (fxv != null) text.push(`${fx.label ?? "fx"} = ${fxi}`); - if (fyv != null) text.push(`${fy.label ?? "fy"} = ${fyi}`); + for (const key in channels) { + const channel = channels[key]; + const label = scales[channel.scale]?.label ?? key; + text.push(`${label} = ${formatDefault(channel.value[i])}`); + } + if (fxv != null) text.push(`${fx.label ?? "fx"} = ${formatFx(fxi)}`); + if (fyv != null) text.push(`${fy.label ?? "fy"} = ${formatFy(fyi)}`); title.text(text.join("\n")); } }) diff --git a/test/output/tooltipDotColor.svg b/test/output/tooltipDotColor.svg new file mode 100644 index 0000000000..735695dc21 --- /dev/null +++ b/test/output/tooltipDotColor.svg @@ -0,0 +1,421 @@ + + + + + + + + + + + + + + + + + + + + + + + + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + + + ↑ culmen_depth_mm + + + + + + + + + + + + + + + + + 35 + 40 + 45 + 50 + 55 + + + culmen_length_mm → + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/output/athletesTooltip.svg b/test/output/tooltipDotFacets.svg similarity index 99% rename from test/output/athletesTooltip.svg rename to test/output/tooltipDotFacets.svg index 114b42cfd9..ed11972d60 100644 --- a/test/output/athletesTooltip.svg +++ b/test/output/tooltipDotFacets.svg @@ -5203,7 +5203,7 @@ - + 1950 @@ -5229,7 +5229,7 @@ - + 1960 @@ -5299,7 +5299,7 @@ - + 1970 @@ -5568,7 +5568,7 @@ - + 1980 @@ -8237,7 +8237,7 @@ - + 1990 @@ -11159,7 +11159,7 @@ - + 2000 diff --git a/test/plots/index.ts b/test/plots/index.ts index bd8143223c..b7138c4581 100644 --- a/test/plots/index.ts +++ b/test/plots/index.ts @@ -24,7 +24,7 @@ export * from "./athletes-sex-weight.js"; export * from "./athletes-sort.js"; export * from "./athletes-sport-sex.js"; export * from "./athletes-sport-weight.js"; -export * from "./athletes-tooltip.js"; +export * from "./tooltip.js"; export * from "./athletes-weight-cumulative.js"; export * from "./athletes-weight.js"; export * from "./autoplot.js"; diff --git a/test/plots/athletes-tooltip.ts b/test/plots/tooltip.ts similarity index 50% rename from test/plots/athletes-tooltip.ts rename to test/plots/tooltip.ts index 5cbbcb63d6..acd29cd45c 100644 --- a/test/plots/athletes-tooltip.ts +++ b/test/plots/tooltip.ts @@ -1,13 +1,24 @@ import * as Plot from "@observablehq/plot"; import * as d3 from "d3"; -export async function athletesTooltip() { +export async function tooltipDotColor() { + const penguins = await d3.csv("data/penguins.csv", d3.autoType); + return Plot.plot({ + grid: true, + marks: [ + Plot.dot(penguins, {x: "culmen_length_mm", y: "culmen_depth_mm", stroke: "sex"}), + Plot.tooltip(penguins, {x: "culmen_length_mm", y: "culmen_depth_mm", stroke: "sex"}) + ] + }); +} + +export async function tooltipDotFacets() { const athletes = await d3.csv("data/athletes.csv", d3.autoType); return Plot.plot({ grid: true, fy: { label: "decade of birth", - transform: (d) => `${Math.floor(d.getUTCFullYear() / 10) * 10}` + interval: "10 years" }, marks: [ Plot.dot(athletes, {x: "weight", y: "height", fx: "sex", fy: "date_of_birth"}), From 3383a193e26a1af96cbc50fbd68f7c8e8a6326a9 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Tue, 2 May 2023 11:56:35 -0700 Subject: [PATCH 03/35] extra channels! --- src/channel.d.ts | 2 +- test/plots/tooltip.ts | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/channel.d.ts b/src/channel.d.ts index 1b10f889ec..11a6814b29 100644 --- a/src/channel.d.ts +++ b/src/channel.d.ts @@ -61,7 +61,7 @@ export type ChannelName = * An object literal of channel definitions. This is also used to represent * materialized channel states after mark initialization. */ -export type Channels = {[key in ChannelName]?: Channel}; +export type Channels = Record; /** * A channel definition. This is also used to represent the materialized channel diff --git a/test/plots/tooltip.ts b/test/plots/tooltip.ts index acd29cd45c..2348451949 100644 --- a/test/plots/tooltip.ts +++ b/test/plots/tooltip.ts @@ -22,7 +22,16 @@ export async function tooltipDotFacets() { }, marks: [ Plot.dot(athletes, {x: "weight", y: "height", fx: "sex", fy: "date_of_birth"}), - Plot.tooltip(athletes, {x: "weight", y: "height", fx: "sex", fy: "date_of_birth"}) + Plot.tooltip(athletes, { + x: "weight", + y: "height", + fx: "sex", + fy: "date_of_birth", + channels: { + name: {value: "name"}, + sport: {value: "sport"} + } + }) ] }); } From 753f50f52e6be148ff1ee87d77fae8990b1c5df4 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Tue, 2 May 2023 14:46:46 -0700 Subject: [PATCH 04/35] svg tooltip --- src/marks/tooltip.js | 45 ++++++++++++++----- src/plot.js | 28 ++++++------ test/output/anscombeQuartet.svg | 18 ++++---- test/output/athletesBoxingHeight.svg | 12 ++--- test/output/athletesSampleFacet.svg | 12 ++--- test/output/athletesSortFacet.svg | 8 ++-- test/output/athletesSportWeight.svg | 12 ++--- test/output/autoDotFacet.svg | 18 ++++---- test/output/autoDotFacet2.svg | 24 +++++----- test/output/autoLineFacet.svg | 12 ++--- test/output/ballotStatusRace.svg | 6 +-- test/output/beckerBarley.svg | 18 ++++---- test/output/boxplotFacetInterval.svg | 12 ++--- test/output/boxplotFacetNegativeInterval.svg | 12 ++--- test/output/emptyFacet.svg | 18 ++++---- test/output/footballCoverage.svg | 6 +-- test/output/frameFacet.svg | 12 ++--- test/output/hexbinR.html | 18 ++++---- test/output/hexbinText.svg | 18 ++++---- test/output/industryUnemploymentTrack.svg | 6 +-- test/output/internFacetDate.svg | 18 ++++---- test/output/internFacetNaN.svg | 18 ++++---- test/output/mobyDickFaceted.svg | 6 +-- test/output/moviesRatingByGenre.svg | 6 +-- test/output/penguinCulmen.svg | 24 +++++----- test/output/penguinCulmenArray.svg | 12 ++--- test/output/penguinCulmenMarkFacet.svg | 24 +++++----- test/output/penguinDensityFill.html | 18 ++++---- test/output/penguinDensityZ.html | 18 ++++---- test/output/penguinDodgeHexbin.svg | 6 +-- test/output/penguinFacetAnnotated.svg | 18 ++++---- test/output/penguinFacetAnnotatedX.svg | 18 ++++---- test/output/penguinFacetDodge.svg | 6 +-- test/output/penguinFacetDodgeIdentity.svg | 6 +-- test/output/penguinFacetDodgeIsland.html | 6 +-- test/output/penguinMassSex.svg | 18 ++++---- test/output/penguinMassSexSpecies.svg | 24 +++++----- test/output/penguinSexMassCulmenSpecies.svg | 18 ++++---- test/output/penguinSpeciesIslandRelative.svg | 12 ++--- test/output/penguinSpeciesIslandSex.svg | 18 ++++---- test/output/reducerScaleOverrideFunction.svg | 18 ++++---- .../reducerScaleOverrideImplementation.svg | 18 ++++---- test/output/reducerScaleOverrideName.svg | 18 ++++---- test/output/tooltipDotColor.svg | 6 +-- test/output/tooltipDotFacets.svg | 30 ++++++------- test/output/usPopulationStateAgeGrouped.svg | 6 +-- 46 files changed, 364 insertions(+), 341 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index bc8f82c8ee..38c1e357fa 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -38,6 +38,9 @@ export class Tooltip extends Mark { let indexes = this.indexesBySvg.get(svg); if (indexes) return void indexes.push(index); this.indexesBySvg.set(svg, (indexes = [index])); + const r = 8; // padding + const dx = 0; // offsetLeft + const dy = 12; // offsetTop const dot = select(svg) .on("pointermove", (event) => { let i, xi, yi, fxi, fyi; @@ -63,26 +66,46 @@ export class Tooltip extends Mark { dot.attr("display", "none"); } else { dot.attr("display", "inline"); - dot.attr("transform", `translate(${xi},${yi})`); + dot.attr("transform", `translate(${Math.round(xi)},${Math.round(yi)})`); const text = []; for (const key in channels) { const channel = channels[key]; const label = scales[channel.scale]?.label ?? key; - text.push(`${label} = ${formatDefault(channel.value[i])}`); + text.push([label, formatDefault(channel.value[i])]); } - if (fxv != null) text.push(`${fx.label ?? "fx"} = ${formatFx(fxi)}`); - if (fyv != null) text.push(`${fy.label ?? "fy"} = ${formatFy(fyi)}`); - title.text(text.join("\n")); + if (fxv != null) text.push([fx.label ?? "fx", formatFx(fxi)]); + if (fyv != null) text.push([fy.label ?? "fy", formatFy(fyi)]); + content + .selectChildren() + .data(text) + .join("tspan") + .attr("x", 0) + .attr("y", (d, i) => `${i + 0.9}em`) + .selectChildren() + .data((d) => d) + .join("tspan") + .attr("font-weight", (d, i) => (i ? "bold" : null)) + .text((d, i) => (i ? ` ${d}` : String(d))); + const {width, height} = content.node().getBBox(); + const w = width + r * 2; + const h = height + r * 2; + path.attr("d", `M${dx},${dy}v${-dy}l${dy},${dy}h${w - dy}v${h}h${-w}z`); } }) .on("pointerdown pointerleave", () => dot.attr("display", "none")) .append("g") - .attr("display", "none") - .attr("pointer-events", "all") - .attr("fill", "none") - .call((g) => g.append("circle").attr("r", maxRadius).attr("fill", "none")) - .call((g) => g.append("circle").attr("r", 4.5).attr("stroke", "red").attr("stroke-width", 1.5)); - const title = dot.append("title"); + .attr("aria-label", "tooltip") + .attr("display", "none"); + const path = dot + .append("path") + .attr("fill", "white") + .attr("stroke", "black") + .on("pointerdown pointermove", (event) => event.stopPropagation()); + const content = dot + .append("text") + .attr("transform", `translate(${dx + r},${dy + r})`) + .attr("text-anchor", "start") + .on("pointerdown pointermove", (event) => event.stopPropagation()); return null; } } diff --git a/src/plot.js b/src/plot.js index 9377b31674..a700d86e20 100644 --- a/src/plot.js +++ b/src/plot.js @@ -234,6 +234,20 @@ export function plot(options = {}) { .call(applyInlineStyles, style) .node(); + // Render non-faceted marks. + for (const mark of marks) { + if (facets !== undefined && mark.facet !== "super") continue; + const {channels, values, facets: indexes} = stateByMark.get(mark); + let index = null; + if (indexes) { + index = indexes[0]; + index = mark.filter(index, channels, values); + if (index.length === 0) continue; + } + const node = mark.render(index, scales, values, superdimensions, context); + if (node != null) svg.appendChild(node); + } + // Render facets. if (facets !== undefined) { const facetDomains = {x: fx?.domain(), y: fy?.domain()}; @@ -274,20 +288,6 @@ export function plot(options = {}) { }); } - // Render non-faceted marks. - for (const mark of marks) { - if (facets !== undefined && mark.facet !== "super") continue; - const {channels, values, facets: indexes} = stateByMark.get(mark); - let index = null; - if (indexes) { - index = indexes[0]; - index = mark.filter(index, channels, values); - if (index.length === 0) continue; - } - const node = mark.render(index, scales, values, superdimensions, context); - if (node != null) svg.appendChild(node); - } - // Wrap the plot in a figure with a caption, if desired. let figure = svg; const legends = createLegends(scaleDescriptors, context, options); diff --git a/test/output/anscombeQuartet.svg b/test/output/anscombeQuartet.svg index 23a593cb1b..e383ffed31 100644 --- a/test/output/anscombeQuartet.svg +++ b/test/output/anscombeQuartet.svg @@ -13,6 +13,15 @@ white-space: pre; } + + series + + + ↑ y + + + x → + 1 @@ -191,13 +200,4 @@ - - series - - - ↑ y - - - x → - \ No newline at end of file diff --git a/test/output/athletesBoxingHeight.svg b/test/output/athletesBoxingHeight.svg index fd1fc53b0f..ed94fc9d80 100644 --- a/test/output/athletesBoxingHeight.svg +++ b/test/output/athletesBoxingHeight.svg @@ -13,6 +13,12 @@ white-space: pre; } + + continent + + + ↑ height + Africa @@ -346,10 +352,4 @@ PNG - - continent - - - ↑ height - \ No newline at end of file diff --git a/test/output/athletesSampleFacet.svg b/test/output/athletesSampleFacet.svg index f9ef88bb65..782c9be797 100644 --- a/test/output/athletesSampleFacet.svg +++ b/test/output/athletesSampleFacet.svg @@ -13,6 +13,12 @@ white-space: pre; } + + sport + + + weight → + aquatics @@ -580,10 +586,4 @@ Natalia Vorobeva - - sport - - - weight → - \ No newline at end of file diff --git a/test/output/athletesSortFacet.svg b/test/output/athletesSortFacet.svg index bbf901026a..0dab89ce58 100644 --- a/test/output/athletesSortFacet.svg +++ b/test/output/athletesSortFacet.svg @@ -13,6 +13,10 @@ white-space: pre; } + + sport + + boxing @@ -255,8 +259,4 @@ - - sport - - \ No newline at end of file diff --git a/test/output/athletesSportWeight.svg b/test/output/athletesSportWeight.svg index a562418bb1..876f8bce17 100644 --- a/test/output/athletesSportWeight.svg +++ b/test/output/athletesSportWeight.svg @@ -13,6 +13,12 @@ white-space: pre; } + + sport + + + weight → + aquatics @@ -1311,10 +1317,4 @@ - - sport - - - weight → - \ No newline at end of file diff --git a/test/output/autoDotFacet.svg b/test/output/autoDotFacet.svg index 898d97b872..c5cbc9c01f 100644 --- a/test/output/autoDotFacet.svg +++ b/test/output/autoDotFacet.svg @@ -13,6 +13,15 @@ white-space: pre; } + + island + + + ↑ culmen_length_mm + + + body_mass_g → + Biscoe @@ -433,13 +442,4 @@ - - island - - - ↑ culmen_length_mm - - - body_mass_g → - \ No newline at end of file diff --git a/test/output/autoDotFacet2.svg b/test/output/autoDotFacet2.svg index 2a88fef132..3160af0d24 100644 --- a/test/output/autoDotFacet2.svg +++ b/test/output/autoDotFacet2.svg @@ -13,6 +13,18 @@ white-space: pre; } + + species + + + island + + + ↑ culmen_length_mm + + + body_mass_g → + Biscoe @@ -476,16 +488,4 @@ Gentoo - - species - - - island - - - ↑ culmen_length_mm - - - body_mass_g → - \ No newline at end of file diff --git a/test/output/autoLineFacet.svg b/test/output/autoLineFacet.svg index 428d706d7c..20f3f4ce36 100644 --- a/test/output/autoLineFacet.svg +++ b/test/output/autoLineFacet.svg @@ -13,6 +13,12 @@ white-space: pre; } + + industry + + + ↑ unemployed + Agriculture @@ -267,10 +273,4 @@ - - industry - - - ↑ unemployed - \ No newline at end of file diff --git a/test/output/ballotStatusRace.svg b/test/output/ballotStatusRace.svg index 59b1b21a96..7650749658 100644 --- a/test/output/ballotStatusRace.svg +++ b/test/output/ballotStatusRace.svg @@ -13,6 +13,9 @@ white-space: pre; } + + Frequency (%) → + WHITE @@ -176,7 +179,4 @@ - - Frequency (%) → - \ No newline at end of file diff --git a/test/output/beckerBarley.svg b/test/output/beckerBarley.svg index 9843c8df67..730b6577c7 100644 --- a/test/output/beckerBarley.svg +++ b/test/output/beckerBarley.svg @@ -13,6 +13,15 @@ white-space: pre; } + + site + + + variety + + + yield → + Waseca @@ -469,13 +478,4 @@ - - site - - - variety - - - yield → - \ No newline at end of file diff --git a/test/output/boxplotFacetInterval.svg b/test/output/boxplotFacetInterval.svg index f75a20e406..3c5f27600d 100644 --- a/test/output/boxplotFacetInterval.svg +++ b/test/output/boxplotFacetInterval.svg @@ -13,6 +13,12 @@ white-space: pre; } + + height + + + weight → + @@ -626,10 +632,4 @@ - - height - - - weight → - \ No newline at end of file diff --git a/test/output/boxplotFacetNegativeInterval.svg b/test/output/boxplotFacetNegativeInterval.svg index f75a20e406..3c5f27600d 100644 --- a/test/output/boxplotFacetNegativeInterval.svg +++ b/test/output/boxplotFacetNegativeInterval.svg @@ -13,6 +13,12 @@ white-space: pre; } + + height + + + weight → + @@ -626,10 +632,4 @@ - - height - - - weight → - \ No newline at end of file diff --git a/test/output/emptyFacet.svg b/test/output/emptyFacet.svg index 04215f8a30..20359d2172 100644 --- a/test/output/emptyFacet.svg +++ b/test/output/emptyFacet.svg @@ -13,6 +13,15 @@ white-space: pre; } + + TYPE + + + VALUE + + + PERIOD + a @@ -45,13 +54,4 @@ 2 - - TYPE - - - VALUE - - - PERIOD - \ No newline at end of file diff --git a/test/output/footballCoverage.svg b/test/output/footballCoverage.svg index f3e4902dec..de6d8e03fd 100644 --- a/test/output/footballCoverage.svg +++ b/test/output/footballCoverage.svg @@ -13,6 +13,9 @@ white-space: pre; } + + coverage + C2 @@ -410,7 +413,4 @@ - - coverage - \ No newline at end of file diff --git a/test/output/frameFacet.svg b/test/output/frameFacet.svg index 832a3ff663..d995f68ca6 100644 --- a/test/output/frameFacet.svg +++ b/test/output/frameFacet.svg @@ -13,6 +13,12 @@ white-space: pre; } + + species + + + body_mass_g → + Adelie @@ -395,10 +401,4 @@ - - species - - - body_mass_g → - \ No newline at end of file diff --git a/test/output/hexbinR.html b/test/output/hexbinR.html index 859360ab29..f24daf11db 100644 --- a/test/output/hexbinR.html +++ b/test/output/hexbinR.html @@ -48,6 +48,15 @@ white-space: pre; } + + sex + + + ↑ culmen_length_mm + + + culmen_depth_mm → + FEMALE @@ -289,13 +298,4 @@ 1 - - sex - - - ↑ culmen_length_mm - - - culmen_depth_mm → - \ No newline at end of file diff --git a/test/output/hexbinText.svg b/test/output/hexbinText.svg index d5ecb24894..354ab5a8da 100644 --- a/test/output/hexbinText.svg +++ b/test/output/hexbinText.svg @@ -13,6 +13,15 @@ white-space: pre; } + + sex + + + ↑ culmen_length_mm + + + culmen_depth_mm → + FEMALE @@ -368,13 +377,4 @@ 1 - - sex - - - ↑ culmen_length_mm - - - culmen_depth_mm → - \ No newline at end of file diff --git a/test/output/industryUnemploymentTrack.svg b/test/output/industryUnemploymentTrack.svg index d8f26e8554..1fdb4b52c6 100644 --- a/test/output/industryUnemploymentTrack.svg +++ b/test/output/industryUnemploymentTrack.svg @@ -13,6 +13,9 @@ white-space: pre; } + + industry + Construction @@ -1919,7 +1922,4 @@ 2 - - industry - \ No newline at end of file diff --git a/test/output/internFacetDate.svg b/test/output/internFacetDate.svg index c33b17fdc9..93fb889a26 100644 --- a/test/output/internFacetDate.svg +++ b/test/output/internFacetDate.svg @@ -13,6 +13,15 @@ white-space: pre; } + + date_of_birth + + + ↑ height + + + weight → + 1950 @@ -11111,13 +11120,4 @@ - - date_of_birth - - - ↑ height - - - weight → - \ No newline at end of file diff --git a/test/output/internFacetNaN.svg b/test/output/internFacetNaN.svg index 72f35f0da8..ee1056d738 100644 --- a/test/output/internFacetNaN.svg +++ b/test/output/internFacetNaN.svg @@ -13,6 +13,15 @@ white-space: pre; } + + height + + + sex + + + weight → + 1.2 @@ -743,13 +752,4 @@ - - height - - - sex - - - weight → - \ No newline at end of file diff --git a/test/output/mobyDickFaceted.svg b/test/output/mobyDickFaceted.svg index e492f99d5d..7e8899b166 100644 --- a/test/output/mobyDickFaceted.svg +++ b/test/output/mobyDickFaceted.svg @@ -13,6 +13,9 @@ white-space: pre; } + + ↑ Frequency + consonant @@ -285,7 +288,4 @@ - - ↑ Frequency - \ No newline at end of file diff --git a/test/output/moviesRatingByGenre.svg b/test/output/moviesRatingByGenre.svg index 52a72a4b4c..abd8f8594e 100644 --- a/test/output/moviesRatingByGenre.svg +++ b/test/output/moviesRatingByGenre.svg @@ -13,6 +13,9 @@ white-space: pre; } + + IMDB Rating → + @@ -3326,7 +3329,4 @@ - - IMDB Rating → - \ No newline at end of file diff --git a/test/output/penguinCulmen.svg b/test/output/penguinCulmen.svg index bd23be06d3..9d633b2571 100644 --- a/test/output/penguinCulmen.svg +++ b/test/output/penguinCulmen.svg @@ -13,6 +13,18 @@ white-space: pre; } + + species + + + sex + + + ↑ culmen_length_mm + + + culmen_depth_mm → + FEMALE @@ -2984,16 +2996,4 @@ - - species - - - sex - - - ↑ culmen_length_mm - - - culmen_depth_mm → - \ No newline at end of file diff --git a/test/output/penguinCulmenArray.svg b/test/output/penguinCulmenArray.svg index 0e462164d8..06166cc361 100644 --- a/test/output/penguinCulmenArray.svg +++ b/test/output/penguinCulmenArray.svg @@ -13,6 +13,12 @@ white-space: pre; } + + species + + + sex + FEMALE @@ -3318,10 +3324,4 @@ - - species - - - sex - \ No newline at end of file diff --git a/test/output/penguinCulmenMarkFacet.svg b/test/output/penguinCulmenMarkFacet.svg index dcf4a57c7c..a6d4797c7e 100644 --- a/test/output/penguinCulmenMarkFacet.svg +++ b/test/output/penguinCulmenMarkFacet.svg @@ -13,6 +13,18 @@ white-space: pre; } + + species + + + sex + + + ↑ culmen_length_mm + + + culmen_depth_mm → + FEMALE @@ -2896,16 +2908,4 @@ - - species - - - sex - - - ↑ culmen_length_mm - - - culmen_depth_mm → - \ No newline at end of file diff --git a/test/output/penguinDensityFill.html b/test/output/penguinDensityFill.html index d7a8fb6070..16e36ef585 100644 --- a/test/output/penguinDensityFill.html +++ b/test/output/penguinDensityFill.html @@ -48,6 +48,15 @@ white-space: pre; } + + island + + + ↑ culmen_length_mm + + + flipper_length_mm → + Biscoe @@ -158,13 +167,4 @@ - - island - - - ↑ culmen_length_mm - - - flipper_length_mm → - \ No newline at end of file diff --git a/test/output/penguinDensityZ.html b/test/output/penguinDensityZ.html index d449140b3e..3aaf1d1a8c 100644 --- a/test/output/penguinDensityZ.html +++ b/test/output/penguinDensityZ.html @@ -46,6 +46,15 @@ white-space: pre; } + + island + + + ↑ culmen_length_mm + + + flipper_length_mm → + Biscoe @@ -174,14 +183,5 @@ - - island - - - ↑ culmen_length_mm - - - flipper_length_mm → - \ No newline at end of file diff --git a/test/output/penguinDodgeHexbin.svg b/test/output/penguinDodgeHexbin.svg index a6282aa416..b1f509e62e 100644 --- a/test/output/penguinDodgeHexbin.svg +++ b/test/output/penguinDodgeHexbin.svg @@ -13,6 +13,9 @@ white-space: pre; } + + body_mass_g → + Adelie @@ -771,7 +774,4 @@ - - body_mass_g → - \ No newline at end of file diff --git a/test/output/penguinFacetAnnotated.svg b/test/output/penguinFacetAnnotated.svg index 4d83f42650..ac5a99b86c 100644 --- a/test/output/penguinFacetAnnotated.svg +++ b/test/output/penguinFacetAnnotated.svg @@ -13,6 +13,15 @@ white-space: pre; } + + island + + + species + + + Frequency → + Biscoe @@ -101,13 +110,4 @@ Torgersen Island only has Adelie penguins! - - island - - - species - - - Frequency → - \ No newline at end of file diff --git a/test/output/penguinFacetAnnotatedX.svg b/test/output/penguinFacetAnnotatedX.svg index 964c378852..55ea3e1300 100644 --- a/test/output/penguinFacetAnnotatedX.svg +++ b/test/output/penguinFacetAnnotatedX.svg @@ -13,6 +13,15 @@ white-space: pre; } + + island + + + species + + + Frequency → + Biscoe @@ -93,13 +102,4 @@ Torgersen Islandonly has Adeliepenguins! - - island - - - species - - - Frequency → - \ No newline at end of file diff --git a/test/output/penguinFacetDodge.svg b/test/output/penguinFacetDodge.svg index 8f4ff6ae84..841b59bf3a 100644 --- a/test/output/penguinFacetDodge.svg +++ b/test/output/penguinFacetDodge.svg @@ -13,6 +13,9 @@ white-space: pre; } + + body_mass_g → + Adelie @@ -421,7 +424,4 @@ - - body_mass_g → - \ No newline at end of file diff --git a/test/output/penguinFacetDodgeIdentity.svg b/test/output/penguinFacetDodgeIdentity.svg index d92d6064f4..33d966d178 100644 --- a/test/output/penguinFacetDodgeIdentity.svg +++ b/test/output/penguinFacetDodgeIdentity.svg @@ -13,6 +13,9 @@ white-space: pre; } + + body_mass_g → + Adelie @@ -421,7 +424,4 @@ - - body_mass_g → - \ No newline at end of file diff --git a/test/output/penguinFacetDodgeIsland.html b/test/output/penguinFacetDodgeIsland.html index 719b274dec..f4e2665a69 100644 --- a/test/output/penguinFacetDodgeIsland.html +++ b/test/output/penguinFacetDodgeIsland.html @@ -46,6 +46,9 @@ white-space: pre; } + + body_mass_g → + Adelie @@ -454,8 +457,5 @@ - - body_mass_g → - \ No newline at end of file diff --git a/test/output/penguinMassSex.svg b/test/output/penguinMassSex.svg index 065f9882de..663c9bea5f 100644 --- a/test/output/penguinMassSex.svg +++ b/test/output/penguinMassSex.svg @@ -13,6 +13,15 @@ white-space: pre; } + + sex + + + ↑ Frequency + + + Body mass (g) → + FEMALE @@ -128,13 +137,4 @@ - - sex - - - ↑ Frequency - - - Body mass (g) → - \ No newline at end of file diff --git a/test/output/penguinMassSexSpecies.svg b/test/output/penguinMassSexSpecies.svg index 4bdc3c636e..30721c6a67 100644 --- a/test/output/penguinMassSexSpecies.svg +++ b/test/output/penguinMassSexSpecies.svg @@ -13,6 +13,18 @@ white-space: pre; } + + species + + + sex + + + ↑ Frequency + + + Body mass (g) → + FEMALE @@ -189,16 +201,4 @@ - - species - - - sex - - - ↑ Frequency - - - Body mass (g) → - \ No newline at end of file diff --git a/test/output/penguinSexMassCulmenSpecies.svg b/test/output/penguinSexMassCulmenSpecies.svg index 2d8921d854..a10962acce 100644 --- a/test/output/penguinSexMassCulmenSpecies.svg +++ b/test/output/penguinSexMassCulmenSpecies.svg @@ -13,6 +13,15 @@ white-space: pre; } + + sex + + + ↑ culmen_length_mm + + + body_mass_g → + FEMALE @@ -285,13 +294,4 @@ - - sex - - - ↑ culmen_length_mm - - - body_mass_g → - \ No newline at end of file diff --git a/test/output/penguinSpeciesIslandRelative.svg b/test/output/penguinSpeciesIslandRelative.svg index e4e0a94f6f..1c3836bf2b 100644 --- a/test/output/penguinSpeciesIslandRelative.svg +++ b/test/output/penguinSpeciesIslandRelative.svg @@ -13,6 +13,12 @@ white-space: pre; } + + species + + + ↑ Frequency (%) + @@ -83,10 +89,4 @@ - - species - - - ↑ Frequency (%) - \ No newline at end of file diff --git a/test/output/penguinSpeciesIslandSex.svg b/test/output/penguinSpeciesIslandSex.svg index 4eb7e4d6d0..f9ec7067d3 100644 --- a/test/output/penguinSpeciesIslandSex.svg +++ b/test/output/penguinSpeciesIslandSex.svg @@ -13,6 +13,15 @@ white-space: pre; } + + species + + + ↑ Frequency + + + sex + Adelie @@ -171,13 +180,4 @@ - - species - - - ↑ Frequency - - - sex - \ No newline at end of file diff --git a/test/output/reducerScaleOverrideFunction.svg b/test/output/reducerScaleOverrideFunction.svg index 9c78ec2c99..56beac0a77 100644 --- a/test/output/reducerScaleOverrideFunction.svg +++ b/test/output/reducerScaleOverrideFunction.svg @@ -13,6 +13,15 @@ white-space: pre; } + + sex + + + ↑ Frequency + + + species + FEMALE @@ -85,13 +94,4 @@ - - sex - - - ↑ Frequency - - - species - \ No newline at end of file diff --git a/test/output/reducerScaleOverrideImplementation.svg b/test/output/reducerScaleOverrideImplementation.svg index 9c78ec2c99..56beac0a77 100644 --- a/test/output/reducerScaleOverrideImplementation.svg +++ b/test/output/reducerScaleOverrideImplementation.svg @@ -13,6 +13,15 @@ white-space: pre; } + + sex + + + ↑ Frequency + + + species + FEMALE @@ -85,13 +94,4 @@ - - sex - - - ↑ Frequency - - - species - \ No newline at end of file diff --git a/test/output/reducerScaleOverrideName.svg b/test/output/reducerScaleOverrideName.svg index 9c78ec2c99..56beac0a77 100644 --- a/test/output/reducerScaleOverrideName.svg +++ b/test/output/reducerScaleOverrideName.svg @@ -13,6 +13,15 @@ white-space: pre; } + + sex + + + ↑ Frequency + + + species + FEMALE @@ -85,13 +94,4 @@ - - sex - - - ↑ Frequency - - - species - \ No newline at end of file diff --git a/test/output/tooltipDotColor.svg b/test/output/tooltipDotColor.svg index 735695dc21..8966ec205e 100644 --- a/test/output/tooltipDotColor.svg +++ b/test/output/tooltipDotColor.svg @@ -414,8 +414,8 @@ - - - + + + \ No newline at end of file diff --git a/test/output/tooltipDotFacets.svg b/test/output/tooltipDotFacets.svg index ed11972d60..6ab647fafd 100644 --- a/test/output/tooltipDotFacets.svg +++ b/test/output/tooltipDotFacets.svg @@ -13,6 +13,18 @@ white-space: pre; } + + decade of birth + + + sex + + + ↑ height + + + weight → + female @@ -11191,20 +11203,8 @@ - - - - - - decade of birth - - - sex - - - ↑ height - - - weight → + + + \ No newline at end of file diff --git a/test/output/usPopulationStateAgeGrouped.svg b/test/output/usPopulationStateAgeGrouped.svg index a6e688877b..80ecaf64bb 100644 --- a/test/output/usPopulationStateAgeGrouped.svg +++ b/test/output/usPopulationStateAgeGrouped.svg @@ -13,6 +13,9 @@ white-space: pre; } + + ↑ population + @@ -257,7 +260,4 @@ - - ↑ population - \ No newline at end of file From 56cfcaa45b07a659f9b10b3558125b3df706ebe3 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Tue, 2 May 2023 15:24:27 -0700 Subject: [PATCH 05/35] filter: drop-shadow, overflow: visible --- src/marks/tooltip.js | 1 + src/plot.js | 1 + test/output/aaplBollinger.svg | 1 + test/output/aaplBollingerGridInterval.svg | 1 + test/output/aaplBollingerGridSpacing.svg | 1 + test/output/aaplCandlestick.svg | 1 + test/output/aaplChangeVolume.svg | 1 + test/output/aaplClose.svg | 1 + test/output/aaplCloseDataTicks.svg | 1 + test/output/aaplCloseGridColor.svg | 1 + test/output/aaplCloseGridInterval.svg | 1 + test/output/aaplCloseGridIntervalName.svg | 1 + test/output/aaplCloseGridIterable.svg | 1 + test/output/aaplCloseImplicitGrid.svg | 1 + test/output/aaplCloseUntyped.svg | 1 + test/output/aaplFancyAxis.svg | 1 + test/output/aaplMonthly.svg | 1 + test/output/aaplVolume.svg | 1 + test/output/aaplVolumeRect.svg | 1 + test/output/anscombeQuartet.svg | 1 + test/output/armadillo.svg | 1 + test/output/aspectRatioBand.svg | 1 + test/output/aspectRatioLinear.svg | 1 + test/output/aspectRatioLog.svg | 1 + test/output/aspectRatioPoint.svg | 1 + test/output/aspectRatioSqrt.svg | 1 + test/output/athletesBinsColors.svg | 1 + test/output/athletesBirthdays.svg | 1 + test/output/athletesBoxingHeight.svg | 1 + test/output/athletesHeightWeight.svg | 1 + test/output/athletesHeightWeightBin.svg | 1 + test/output/athletesHeightWeightBinStroke.svg | 1 + test/output/athletesHeightWeightSex.svg | 1 + test/output/athletesHeightWeightSport.svg | 1 + test/output/athletesNationality.svg | 1 + test/output/athletesSample.svg | 1 + test/output/athletesSampleFacet.svg | 1 + test/output/athletesSexWeight.svg | 1 + test/output/athletesSortFacet.svg | 1 + test/output/athletesSortNationality.html | 1 + test/output/athletesSortNullLimit.html | 1 + test/output/athletesSortWeightLimit.svg | 1 + test/output/athletesSportSex.svg | 1 + test/output/athletesSportWeight.svg | 1 + test/output/athletesWeight.svg | 1 + test/output/athletesWeightCumulative.svg | 1 + test/output/autoArea.svg | 1 + test/output/autoAreaColor.svg | 1 + test/output/autoAreaColorColor.svg | 1 + test/output/autoAreaColorName.svg | 1 + test/output/autoAreaColorValue.svg | 1 + test/output/autoAreaStackColor.svg | 1 + test/output/autoAutoHistogram.svg | 1 + test/output/autoBar.svg | 1 + test/output/autoBarColorReducer.svg | 1 + test/output/autoBarMode.svg | 1 + test/output/autoBarNonZeroReducer.svg | 1 + test/output/autoBarStackColor.svg | 1 + test/output/autoBarStackColorConstant.svg | 1 + test/output/autoBarStackColorField.svg | 1 + test/output/autoChannels.svg | 1 + test/output/autoConnectedScatterplot.svg | 1 + test/output/autoDot.svg | 1 + test/output/autoDotBin.svg | 1 + test/output/autoDotColor.svg | 1 + test/output/autoDotFacet.svg | 1 + test/output/autoDotFacet2.svg | 1 + test/output/autoDotGroup.svg | 1 + test/output/autoDotOrdCont.svg | 1 + test/output/autoDotOrdinal.svg | 1 + test/output/autoDotSize.svg | 1 + test/output/autoDotSize2.svg | 1 + test/output/autoDotUnsortedDate.svg | 1 + test/output/autoDotZero.svg | 1 + test/output/autoHeatmap.svg | 1 + test/output/autoHeatmapOrdCont.svg | 1 + test/output/autoHeatmapOrdinal.svg | 1 + test/output/autoHistogram.svg | 1 + test/output/autoHistogramDate.svg | 1 + test/output/autoHistogramGroup.svg | 1 + test/output/autoLine.svg | 1 + test/output/autoLineColor.svg | 1 + test/output/autoLineColorSeries.svg | 1 + test/output/autoLineFacet.svg | 1 + test/output/autoLineHistogram.svg | 1 + test/output/autoLineMean.svg | 1 + test/output/autoLineMeanColor.svg | 1 + test/output/autoLineMeanThresholds.svg | 1 + test/output/autoLineMeanZero.svg | 1 + test/output/autoLineZero.svg | 1 + test/output/autoNullReduceContinuous.svg | 1 + test/output/autoNullReduceDate.svg | 1 + test/output/autoNullReduceOrdinal.svg | 1 + test/output/autoRectColorReducer.svg | 1 + test/output/autoRectStackColor.svg | 1 + test/output/autoRuleZero.svg | 1 + test/output/availability.svg | 1 + test/output/axisLabelBoth.svg | 1 + test/output/axisLabelBothReverse.svg | 1 + test/output/axisLabelHref.svg | 1 + test/output/axisLabelVaryingFill.svg | 1 + test/output/axisLabelX.svg | 1 + test/output/axisLabelY.svg | 1 + test/output/ballotStatusRace.svg | 1 + test/output/bandClip.svg | 1 + test/output/bandClip2.svg | 1 + test/output/beagle.svg | 1 + test/output/beckerBarley.svg | 1 + test/output/bigint1.svg | 1 + test/output/bigint2.svg | 1 + test/output/bigintLog.svg | 1 + test/output/bigintOrdinal.html | 1 + test/output/bigintStack.svg | 1 + test/output/bin1m.svg | 1 + test/output/binStrings.svg | 1 + test/output/binTimestamps.svg | 1 + test/output/boundingBoxes.svg | 1 + test/output/boxplot.svg | 1 + test/output/boxplotFacetInterval.svg | 1 + test/output/boxplotFacetNegativeInterval.svg | 1 + test/output/caltrain.html | 1 + test/output/caltrainDirection.svg | 1 + test/output/carsDodge.svg | 1 + test/output/carsHexbin.html | 1 + test/output/carsJitter.html | 1 + test/output/carsMpg.svg | 1 + test/output/carsParcoords.svg | 1 + test/output/clamp.svg | 1 + test/output/collapsedHistogram.svg | 1 + test/output/contourCa55.svg | 1 + test/output/contourVapor.svg | 1 + test/output/countryCentroids.svg | 1 + test/output/covidIhmeProjectedDeaths.svg | 1 + test/output/crimeanWarArrow.svg | 1 + test/output/crimeanWarLine.svg | 1 + test/output/crimeanWarOverlapped.svg | 1 + test/output/crimeanWarStacked.svg | 1 + test/output/d3Survey2015Comfort.svg | 1 + test/output/d3Survey2015Why.svg | 1 + test/output/darkerDodge.svg | 1 + test/output/decathlon.html | 1 + test/output/diamondsBoxplot.svg | 1 + test/output/diamondsCaratPrice.svg | 1 + test/output/diamondsCaratPriceDots.svg | 1 + test/output/diamondsCaratSampling.svg | 1 + test/output/documentationLinks.svg | 1 + test/output/dodgeRule.svg | 1 + test/output/dodgeTextRadius.svg | 1 + test/output/dodgeTick.svg | 1 + test/output/dotSort.html | 7 + test/output/downloads.svg | 1 + test/output/downloadsOrdinal.svg | 1 + test/output/driving.svg | 1 + test/output/electricityDemand.svg | 1 + test/output/empty.svg | 1 + test/output/emptyFacet.svg | 1 + test/output/emptyLegend.svg | 1 + test/output/emptyX.svg | 1 + test/output/energyProduction.html | 1 + test/output/faithfulDensity.svg | 1 + test/output/faithfulDensity1d.svg | 1 + test/output/faithfulDensityFill.svg | 1 + test/output/federalFunds.svg | 1 + test/output/figcaption.html | 1 + test/output/figcaptionHtml.html | 1 + test/output/firstLadies.svg | 1 + test/output/flareCluster.svg | 1 + test/output/flareIndent.svg | 1 + test/output/flareTree.svg | 1 + test/output/footballCoverage.svg | 1 + test/output/frameCorners.svg | 1 + test/output/frameFacet.svg | 1 + test/output/frameFillCategorical.html | 1 + test/output/frameFillQuantitative.html | 1 + test/output/frameSides.svg | 1 + test/output/frameSidesX.svg | 1 + test/output/frameSidesXY.svg | 1 + test/output/frameSidesY.svg | 1 + test/output/fruitSales.svg | 1 + test/output/fruitSalesDate.svg | 1 + test/output/functionContour.svg | 1 + test/output/functionContourFaceted.svg | 1 + test/output/functionContourFaceted2.svg | 1 + test/output/futureSplom.svg | 1 + test/output/geoLink.svg | 1 + test/output/gistempAnomaly.svg | 1 + test/output/gistempAnomalyMoving.svg | 1 + test/output/gistempAnomalyTransform.svg | 1 + test/output/googleTrendsRidgeline.svg | 1 + test/output/graticule.svg | 1 + test/output/greekGods.svg | 1 + test/output/greekGodsExplicit.svg | 1 + test/output/gridChoropleth.svg | 1 + test/output/gridChoroplethDx.svg | 1 + test/output/gridReduceIdentity.svg | 1 + test/output/groupedRects.svg | 1 + test/output/hadcrutWarmingStripes.svg | 1 + test/output/heatmap.svg | 1 + test/output/heatmapArray.svg | 1 + test/output/heatmapConstantOpacity.svg | 1 + test/output/heatmapFaceted.svg | 1 + test/output/heatmapFillOpacity.svg | 1 + test/output/heatmapLog.svg | 1 + test/output/heatmapOpacity.svg | 1 + test/output/heatmapPartial.svg | 1 + test/output/hexbin.svg | 1 + test/output/hexbinIdentityReduce.svg | 1 + test/output/hexbinOranges.svg | 1 + test/output/hexbinR.html | 1 + test/output/hexbinSymbol.html | 1 + test/output/hexbinText.svg | 1 + test/output/hexbinZ.html | 1 + test/output/hexbinZNull.svg | 1 + test/output/highCardinalityOrdinal.svg | 1 + test/output/hrefFill.svg | 1 + test/output/ibmTrading.svg | 1 + test/output/identityScale.svg | 1 + test/output/imagePixelated.svg | 1 + test/output/industryUnemployment.svg | 1 + test/output/industryUnemploymentShare.svg | 1 + test/output/industryUnemploymentStream.svg | 1 + test/output/industryUnemploymentTrack.svg | 1 + test/output/infinityLog.svg | 1 + test/output/integerInterval.svg | 1 + test/output/internFacetDate.svg | 1 + test/output/internFacetNaN.svg | 1 + test/output/intervalAwareBin.svg | 1 + test/output/intervalAwareGroup.svg | 1 + test/output/intervalAwareStack.svg | 1 + test/output/intradayHistogram.svg | 1 + test/output/kittenConstant.svg | 1 + test/output/kittenConstantRotate.svg | 1 + test/output/kittenConstantWidthHeight.svg | 1 + test/output/kittenVariable.svg | 1 + test/output/kittenVariableDodge.svg | 1 + test/output/kittenVariableRotate.svg | 1 + test/output/learningPoverty.svg | 1 + test/output/letterFrequencyBar.svg | 1 + test/output/letterFrequencyCloud.svg | 1 + test/output/letterFrequencyColumn.svg | 1 + test/output/letterFrequencyDot.svg | 1 + test/output/letterFrequencyLollipop.svg | 1 + test/output/letterFrequencyWheel.svg | 1 + test/output/liborProjections.svg | 1 + test/output/likertSurvey.html | 1 + test/output/linearRegressionCars.svg | 1 + test/output/linearRegressionMtcars.svg | 1 + test/output/linearRegressionPenguins.svg | 1 + test/output/logDegenerate.svg | 1 + test/output/longLabels.svg | 1 + test/output/mandelbrot.svg | 1 + test/output/markovChain.svg | 1 + test/output/metroInequality.svg | 1 + test/output/metroInequalityChange.svg | 1 + test/output/metroUnemployment.svg | 1 + test/output/metroUnemploymentHighlight.svg | 1 + test/output/metroUnemploymentIndex.svg | 1 + test/output/metroUnemploymentMoving.svg | 1 + test/output/metroUnemploymentNormalize.svg | 1 + test/output/metroUnemploymentRidgeline.svg | 1 + test/output/metroUnemploymentSlope.svg | 1 + test/output/metroUnemploymentStroke.svg | 1 + test/output/mobyDick.svg | 1 + test/output/mobyDickFaceted.svg | 1 + test/output/mobyDickLetterFrequency.svg | 1 + test/output/mobyDickLetterPairs.svg | 1 + test/output/mobyDickLetterPosition.svg | 1 + .../mobyDickLetterRelativeFrequency.svg | 1 + test/output/morleyBoxplot.svg | 1 + test/output/moviesProfitByGenre.svg | 1 + test/output/moviesRatingByGenre.svg | 1 + test/output/multiplicationTable.svg | 1 + test/output/musicRevenue.svg | 1 + test/output/npmVersions.svg | 1 + test/output/ordinalBar.svg | 1 + test/output/penguinAnnotated.svg | 1 + test/output/penguinCulmen.svg | 1 + test/output/penguinCulmenArray.svg | 1 + test/output/penguinCulmenDelaunay.svg | 1 + test/output/penguinCulmenDelaunayMesh.svg | 1 + test/output/penguinCulmenDelaunaySpecies.svg | 1 + test/output/penguinCulmenMarkFacet.svg | 1 + test/output/penguinCulmenVoronoi.svg | 1 + test/output/penguinDensity.svg | 1 + test/output/penguinDensityFill.html | 1 + test/output/penguinDensityZ.html | 1 + test/output/penguinDodge.svg | 1 + test/output/penguinDodgeHexbin.svg | 1 + test/output/penguinDodgeVoronoi.svg | 1 + test/output/penguinFacetAnnotated.svg | 1 + test/output/penguinFacetAnnotatedX.svg | 1 + test/output/penguinFacetDodge.svg | 1 + test/output/penguinFacetDodgeIdentity.svg | 1 + test/output/penguinFacetDodgeIsland.html | 1 + test/output/penguinFacetDodgeSymbol.html | 1 + test/output/penguinHexbinColorExplicit.svg | 1 + test/output/penguinIslandUnknown.svg | 1 + test/output/penguinMass.svg | 1 + test/output/penguinMassSex.svg | 1 + test/output/penguinMassSexSpecies.svg | 1 + test/output/penguinMassSpecies.svg | 1 + test/output/penguinNA1.svg | 1 + test/output/penguinNA2.svg | 1 + test/output/penguinNA3.svg | 1 + test/output/penguinQuantileEmpty.svg | 1 + test/output/penguinQuantileUnknown.html | 1 + test/output/penguinSex.svg | 1 + test/output/penguinSexMassCulmenSpecies.svg | 1 + test/output/penguinSizeSymbols.html | 1 + test/output/penguinSpeciesCheysson.html | 1 + test/output/penguinSpeciesGradient.svg | 1 + test/output/penguinSpeciesGroup.svg | 1 + test/output/penguinSpeciesIsland.svg | 1 + test/output/penguinSpeciesIslandRelative.svg | 1 + test/output/penguinSpeciesIslandSex.svg | 1 + test/output/penguinVoronoi1D.svg | 1 + test/output/polylinear.svg | 1 + test/output/populationByLatitude.svg | 1 + test/output/populationByLongitude.svg | 1 + test/output/projectionBleedEdges.svg | 1 + test/output/projectionBleedEdges2.svg | 1 + test/output/projectionClipAngle.svg | 1 + test/output/projectionClipAngleFrame.svg | 1 + test/output/projectionClipBerghaus.svg | 1 + test/output/projectionFitAntarctica.svg | 1 + test/output/projectionFitBertin1953.svg | 1 + test/output/projectionFitConic.svg | 1 + test/output/projectionFitIdentity.svg | 1 + test/output/projectionFitUsAlbers.svg | 1 + test/output/projectionHeightAlbers.svg | 1 + test/output/projectionHeightEqualEarth.svg | 1 + test/output/projectionHeightGeometry.svg | 1 + test/output/projectionHeightMercator.svg | 1 + test/output/projectionHeightOrthographic.svg | 1 + test/output/randomBins.svg | 1 + test/output/randomBinsXY.svg | 1 + test/output/randomQuantile.svg | 1 + test/output/randomWalk.svg | 1 + test/output/rasterCa55Barycentric.svg | 1 + test/output/rasterCa55Color.svg | 1 + test/output/rasterCa55Nearest.svg | 1 + test/output/rasterCa55None.svg | 1 + test/output/rasterCa55RandomWalk.svg | 1 + test/output/rasterPenguinsBarycentric.svg | 1 + test/output/rasterPenguinsBlur.svg | 1 + test/output/rasterPenguinsRandomWalk.svg | 1 + test/output/rasterVapor.svg | 1 + test/output/rasterVapor2.html | 1 + test/output/rasterVaporEqualEarth.svg | 1 + .../rasterVaporEqualEarthBarycentric.svg | 1 + test/output/rasterVaporPeters.svg | 1 + test/output/rasterWalmartBarycentric.svg | 1 + .../rasterWalmartBarycentricOpacity.svg | 1 + test/output/rasterWalmartRandomWalk.svg | 1 + test/output/rasterWalmartWalkOpacity.svg | 1 + test/output/rectBand.svg | 1 + test/output/reducerScaleOverrideFunction.svg | 1 + .../reducerScaleOverrideImplementation.svg | 1 + test/output/reducerScaleOverrideName.svg | 1 + test/output/seattlePrecipitationDensity.svg | 1 + test/output/seattlePrecipitationRule.svg | 1 + test/output/seattlePrecipitationSum.svg | 1 + test/output/seattleTemperatureAmplitude.html | 1 + test/output/seattleTemperatureBand.svg | 1 + test/output/seattleTemperatureCell.svg | 1 + test/output/sfCovidDeaths.svg | 1 + test/output/sfTemperatureBand.svg | 1 + test/output/sfTemperatureBandArea.svg | 1 + test/output/shorthandArea.svg | 1 + test/output/shorthandAreaY.svg | 1 + test/output/shorthandBarY.svg | 1 + test/output/shorthandBinRectY.svg | 1 + test/output/shorthandBoxX.svg | 1 + test/output/shorthandCell.svg | 1 + test/output/shorthandCellX.svg | 1 + test/output/shorthandDot.svg | 1 + test/output/shorthandDotX.svg | 1 + test/output/shorthandGroupBarY.svg | 1 + test/output/shorthandLine.svg | 1 + test/output/shorthandLineY.svg | 1 + test/output/shorthandRectY.svg | 1 + test/output/shorthandRuleX.svg | 1 + test/output/shorthandText.svg | 1 + test/output/shorthandTextX.svg | 1 + test/output/shorthandTickX.svg | 1 + test/output/shorthandVector.svg | 1 + test/output/shorthandVectorX.svg | 1 + test/output/simpsonsRatings.svg | 1 + test/output/simpsonsRatingsDots.svg | 1 + test/output/simpsonsViews.html | 1 + test/output/singleValueBar.svg | 1 + test/output/singleValueBin.svg | 1 + test/output/softwareVersions.svg | 1 + test/output/sparseCell.svg | 1 + test/output/stackedBar.svg | 1 + test/output/stackedRect.svg | 1 + test/output/stargazers.svg | 1 + test/output/stargazersBinned.svg | 1 + test/output/stargazersHourly.svg | 1 + test/output/stargazersHourlyGroup.svg | 1 + test/output/stocksIndex.svg | 1 + test/output/textOverflow.svg | 1 + test/output/textOverflowClip.svg | 1 + test/output/textOverflowEllipsis.svg | 1 + test/output/textOverflowMonospace.svg | 1 + test/output/textOverflowNone.svg | 1 + test/output/thisIsJustToSay.svg | 1 + test/output/tooltipDotColor.svg | 3 +- test/output/tooltipDotFacets.svg | 3 +- test/output/tooltipLineColor.svg | 1352 +++++++++++++++++ test/output/trafficHorizon.html | 1 + test/output/travelersCovidDrop.svg | 1 + test/output/travelersYearOverYear.svg | 1 + test/output/uniformRandomDifference.svg | 1 + test/output/untypedDateBin.svg | 1 + test/output/usCongressAge.svg | 1 + test/output/usCongressAgeColorExplicit.svg | 1 + test/output/usCongressAgeGender.svg | 1 + test/output/usCongressAgeSymbolExplicit.svg | 1 + test/output/usCountyChoropleth.html | 1 + test/output/usCountySpikes.svg | 1 + test/output/usPopulationStateAge.svg | 1 + test/output/usPopulationStateAgeDots.svg | 1 + test/output/usPopulationStateAgeGrouped.svg | 1 + test/output/usPresidentFavorabilityDots.svg | 1 + test/output/usPresidentGallery.svg | 1 + test/output/usPresidentGalleryAlt.svg | 1 + test/output/usPresidentialElection2020.svg | 1 + test/output/usPresidentialElectionMap2020.svg | 1 + test/output/usPresidentialForecast2016.svg | 1 + test/output/usRetailSales.svg | 1 + test/output/usStateCapitals.svg | 1 + test/output/usStateCapitalsVoronoi.svg | 1 + test/output/usStatePopulationChange.svg | 1 + test/output/vectorField.svg | 1 + test/output/vectorFrame.svg | 1 + test/output/volcano.svg | 1 + test/output/volcanoContour.svg | 1 + test/output/volcanoTerrain.svg | 1 + test/output/walmarts.html | 1 + test/output/walmartsDecades.svg | 1 + test/output/walmartsDensity.svg | 1 + test/output/walmartsDensityUnprojected.svg | 1 + test/output/wealthBritainBar.svg | 1 + test/output/wealthBritainProportionPlot.svg | 1 + test/output/wordCloud.svg | 1 + test/output/wordLengthMobyDick.svg | 1 + test/output/yearlyRequests.svg | 1 + test/output/yearlyRequestsDot.svg | 1 + test/output/yearlyRequestsLine.svg | 1 + test/plots/tooltip.ts | 11 + 451 files changed, 1820 insertions(+), 2 deletions(-) create mode 100644 test/output/tooltipLineColor.svg diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 38c1e357fa..b79d4459ff 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -100,6 +100,7 @@ export class Tooltip extends Mark { .append("path") .attr("fill", "white") .attr("stroke", "black") + .attr("filter", "drop-shadow(0 3px 4px rgba(0,0,0,0.2))") .on("pointerdown pointermove", (event) => event.stopPropagation()); const content = dot .append("text") diff --git a/src/plot.js b/src/plot.js index a700d86e20..dc40ee7273 100644 --- a/src/plot.js +++ b/src/plot.js @@ -224,6 +224,7 @@ export function plot(options = {}) { height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .${className} text, .${className} tspan { diff --git a/test/output/aaplBollinger.svg b/test/output/aaplBollinger.svg index e950133f03..b3a0a3e940 100644 --- a/test/output/aaplBollinger.svg +++ b/test/output/aaplBollinger.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplBollingerGridInterval.svg b/test/output/aaplBollingerGridInterval.svg index 2d768aa5b5..131e10666b 100644 --- a/test/output/aaplBollingerGridInterval.svg +++ b/test/output/aaplBollingerGridInterval.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplBollingerGridSpacing.svg b/test/output/aaplBollingerGridSpacing.svg index 2d768aa5b5..131e10666b 100644 --- a/test/output/aaplBollingerGridSpacing.svg +++ b/test/output/aaplBollingerGridSpacing.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplCandlestick.svg b/test/output/aaplCandlestick.svg index 92e6ddda36..deb8b1d97e 100644 --- a/test/output/aaplCandlestick.svg +++ b/test/output/aaplCandlestick.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplChangeVolume.svg b/test/output/aaplChangeVolume.svg index 88bdd478d4..a478f95f15 100644 --- a/test/output/aaplChangeVolume.svg +++ b/test/output/aaplChangeVolume.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplClose.svg b/test/output/aaplClose.svg index 8544d2e0d3..aa3a794fdd 100644 --- a/test/output/aaplClose.svg +++ b/test/output/aaplClose.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplCloseDataTicks.svg b/test/output/aaplCloseDataTicks.svg index 3f93df49a9..1bf4bf213f 100644 --- a/test/output/aaplCloseDataTicks.svg +++ b/test/output/aaplCloseDataTicks.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplCloseGridColor.svg b/test/output/aaplCloseGridColor.svg index 53f86885c1..105a42fbdb 100644 --- a/test/output/aaplCloseGridColor.svg +++ b/test/output/aaplCloseGridColor.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplCloseGridInterval.svg b/test/output/aaplCloseGridInterval.svg index 032b339173..cda8c1d3ee 100644 --- a/test/output/aaplCloseGridInterval.svg +++ b/test/output/aaplCloseGridInterval.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplCloseGridIntervalName.svg b/test/output/aaplCloseGridIntervalName.svg index 6af3705714..69042dfcaf 100644 --- a/test/output/aaplCloseGridIntervalName.svg +++ b/test/output/aaplCloseGridIntervalName.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplCloseGridIterable.svg b/test/output/aaplCloseGridIterable.svg index b43ab04ec3..81dcc66b89 100644 --- a/test/output/aaplCloseGridIterable.svg +++ b/test/output/aaplCloseGridIterable.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplCloseImplicitGrid.svg b/test/output/aaplCloseImplicitGrid.svg index 6fbb1528ed..d1d580a3d3 100644 --- a/test/output/aaplCloseImplicitGrid.svg +++ b/test/output/aaplCloseImplicitGrid.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplCloseUntyped.svg b/test/output/aaplCloseUntyped.svg index 998c370b90..14d2fd414a 100644 --- a/test/output/aaplCloseUntyped.svg +++ b/test/output/aaplCloseUntyped.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplFancyAxis.svg b/test/output/aaplFancyAxis.svg index 884f090764..2d328a9dc6 100644 --- a/test/output/aaplFancyAxis.svg +++ b/test/output/aaplFancyAxis.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplMonthly.svg b/test/output/aaplMonthly.svg index 07b1f27dff..7d8d57a7ea 100644 --- a/test/output/aaplMonthly.svg +++ b/test/output/aaplMonthly.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplVolume.svg b/test/output/aaplVolume.svg index 5047d67640..64bd0f42b8 100644 --- a/test/output/aaplVolume.svg +++ b/test/output/aaplVolume.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aaplVolumeRect.svg b/test/output/aaplVolumeRect.svg index 42a109c0a3..bd12e016c5 100644 --- a/test/output/aaplVolumeRect.svg +++ b/test/output/aaplVolumeRect.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/anscombeQuartet.svg b/test/output/anscombeQuartet.svg index e383ffed31..25bed58d39 100644 --- a/test/output/anscombeQuartet.svg +++ b/test/output/anscombeQuartet.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/armadillo.svg b/test/output/armadillo.svg index 47b71cbb27..9770e530c0 100644 --- a/test/output/armadillo.svg +++ b/test/output/armadillo.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aspectRatioBand.svg b/test/output/aspectRatioBand.svg index 6604463720..e4f95f75e2 100644 --- a/test/output/aspectRatioBand.svg +++ b/test/output/aspectRatioBand.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aspectRatioLinear.svg b/test/output/aspectRatioLinear.svg index e7c11fc1e6..01d7bfdfe2 100644 --- a/test/output/aspectRatioLinear.svg +++ b/test/output/aspectRatioLinear.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aspectRatioLog.svg b/test/output/aspectRatioLog.svg index ea188c5b48..166c86472a 100644 --- a/test/output/aspectRatioLog.svg +++ b/test/output/aspectRatioLog.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aspectRatioPoint.svg b/test/output/aspectRatioPoint.svg index 8b599a6ad4..11e003ae54 100644 --- a/test/output/aspectRatioPoint.svg +++ b/test/output/aspectRatioPoint.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/aspectRatioSqrt.svg b/test/output/aspectRatioSqrt.svg index c8ebdfc79d..c30f1de30a 100644 --- a/test/output/aspectRatioSqrt.svg +++ b/test/output/aspectRatioSqrt.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesBinsColors.svg b/test/output/athletesBinsColors.svg index 07b9674d25..7af6f12981 100644 --- a/test/output/athletesBinsColors.svg +++ b/test/output/athletesBinsColors.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesBirthdays.svg b/test/output/athletesBirthdays.svg index 5d268ed927..0d0ce632e0 100644 --- a/test/output/athletesBirthdays.svg +++ b/test/output/athletesBirthdays.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesBoxingHeight.svg b/test/output/athletesBoxingHeight.svg index ed94fc9d80..bb8346839f 100644 --- a/test/output/athletesBoxingHeight.svg +++ b/test/output/athletesBoxingHeight.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesHeightWeight.svg b/test/output/athletesHeightWeight.svg index 02070ae474..08f41675cf 100644 --- a/test/output/athletesHeightWeight.svg +++ b/test/output/athletesHeightWeight.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesHeightWeightBin.svg b/test/output/athletesHeightWeightBin.svg index 2bf28cdab5..27ae1c0490 100644 --- a/test/output/athletesHeightWeightBin.svg +++ b/test/output/athletesHeightWeightBin.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesHeightWeightBinStroke.svg b/test/output/athletesHeightWeightBinStroke.svg index 4633944613..53130b3a48 100644 --- a/test/output/athletesHeightWeightBinStroke.svg +++ b/test/output/athletesHeightWeightBinStroke.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesHeightWeightSex.svg b/test/output/athletesHeightWeightSex.svg index 6b6eff9708..ef0c15b303 100644 --- a/test/output/athletesHeightWeightSex.svg +++ b/test/output/athletesHeightWeightSex.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesHeightWeightSport.svg b/test/output/athletesHeightWeightSport.svg index adba5477b5..85ed46dec5 100644 --- a/test/output/athletesHeightWeightSport.svg +++ b/test/output/athletesHeightWeightSport.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesNationality.svg b/test/output/athletesNationality.svg index c75e3a4220..9b02f07508 100644 --- a/test/output/athletesNationality.svg +++ b/test/output/athletesNationality.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesSample.svg b/test/output/athletesSample.svg index 3f46ef41ae..660468df80 100644 --- a/test/output/athletesSample.svg +++ b/test/output/athletesSample.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesSampleFacet.svg b/test/output/athletesSampleFacet.svg index 782c9be797..2378de177b 100644 --- a/test/output/athletesSampleFacet.svg +++ b/test/output/athletesSampleFacet.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesSexWeight.svg b/test/output/athletesSexWeight.svg index 4cb0ee8abd..d6163f0c9c 100644 --- a/test/output/athletesSexWeight.svg +++ b/test/output/athletesSexWeight.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesSortFacet.svg b/test/output/athletesSortFacet.svg index 0dab89ce58..bd5e8bd621 100644 --- a/test/output/athletesSortFacet.svg +++ b/test/output/athletesSortFacet.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesSortNationality.html b/test/output/athletesSortNationality.html index d371b42a1e..7435ff4ef3 100644 --- a/test/output/athletesSortNationality.html +++ b/test/output/athletesSortNationality.html @@ -53,6 +53,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesSortNullLimit.html b/test/output/athletesSortNullLimit.html index 5c2da917ff..ffd5eb8056 100644 --- a/test/output/athletesSortNullLimit.html +++ b/test/output/athletesSortNullLimit.html @@ -53,6 +53,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesSortWeightLimit.svg b/test/output/athletesSortWeightLimit.svg index ff2d43dcd8..851a5410bd 100644 --- a/test/output/athletesSortWeightLimit.svg +++ b/test/output/athletesSortWeightLimit.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesSportSex.svg b/test/output/athletesSportSex.svg index 800f0b6ea0..f90e944fd5 100644 --- a/test/output/athletesSportSex.svg +++ b/test/output/athletesSportSex.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesSportWeight.svg b/test/output/athletesSportWeight.svg index 876f8bce17..c3cb78a722 100644 --- a/test/output/athletesSportWeight.svg +++ b/test/output/athletesSportWeight.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesWeight.svg b/test/output/athletesWeight.svg index 82b06898f5..66b411dc74 100644 --- a/test/output/athletesWeight.svg +++ b/test/output/athletesWeight.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/athletesWeightCumulative.svg b/test/output/athletesWeightCumulative.svg index 2ba43b5b8a..5a76d2b183 100644 --- a/test/output/athletesWeightCumulative.svg +++ b/test/output/athletesWeightCumulative.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoArea.svg b/test/output/autoArea.svg index 63fed34fda..c7917a5a7f 100644 --- a/test/output/autoArea.svg +++ b/test/output/autoArea.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoAreaColor.svg b/test/output/autoAreaColor.svg index 37c9fdb8ad..db3fa3c030 100644 --- a/test/output/autoAreaColor.svg +++ b/test/output/autoAreaColor.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoAreaColorColor.svg b/test/output/autoAreaColorColor.svg index 1449edd015..ebb8ffa9d0 100644 --- a/test/output/autoAreaColorColor.svg +++ b/test/output/autoAreaColorColor.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoAreaColorName.svg b/test/output/autoAreaColorName.svg index 1449edd015..ebb8ffa9d0 100644 --- a/test/output/autoAreaColorName.svg +++ b/test/output/autoAreaColorName.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoAreaColorValue.svg b/test/output/autoAreaColorValue.svg index 37c9fdb8ad..db3fa3c030 100644 --- a/test/output/autoAreaColorValue.svg +++ b/test/output/autoAreaColorValue.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoAreaStackColor.svg b/test/output/autoAreaStackColor.svg index 00d52c1760..54b617771a 100644 --- a/test/output/autoAreaStackColor.svg +++ b/test/output/autoAreaStackColor.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoAutoHistogram.svg b/test/output/autoAutoHistogram.svg index 929c651994..3d763aa735 100644 --- a/test/output/autoAutoHistogram.svg +++ b/test/output/autoAutoHistogram.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoBar.svg b/test/output/autoBar.svg index 5b63abcdf7..35300d6203 100644 --- a/test/output/autoBar.svg +++ b/test/output/autoBar.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoBarColorReducer.svg b/test/output/autoBarColorReducer.svg index 1b4910f87d..2b644e83ca 100644 --- a/test/output/autoBarColorReducer.svg +++ b/test/output/autoBarColorReducer.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoBarMode.svg b/test/output/autoBarMode.svg index a0f026a250..315ae2e4ac 100644 --- a/test/output/autoBarMode.svg +++ b/test/output/autoBarMode.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoBarNonZeroReducer.svg b/test/output/autoBarNonZeroReducer.svg index c8915a1b2c..ddb8d52ed6 100644 --- a/test/output/autoBarNonZeroReducer.svg +++ b/test/output/autoBarNonZeroReducer.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoBarStackColor.svg b/test/output/autoBarStackColor.svg index df2f1eb4a6..67d32e657e 100644 --- a/test/output/autoBarStackColor.svg +++ b/test/output/autoBarStackColor.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoBarStackColorConstant.svg b/test/output/autoBarStackColorConstant.svg index 1fc853443c..3bc9876582 100644 --- a/test/output/autoBarStackColorConstant.svg +++ b/test/output/autoBarStackColorConstant.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoBarStackColorField.svg b/test/output/autoBarStackColorField.svg index 67cdff8c21..8af332561f 100644 --- a/test/output/autoBarStackColorField.svg +++ b/test/output/autoBarStackColorField.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoChannels.svg b/test/output/autoChannels.svg index 549049b0a9..4ec3e21989 100644 --- a/test/output/autoChannels.svg +++ b/test/output/autoChannels.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoConnectedScatterplot.svg b/test/output/autoConnectedScatterplot.svg index 5e2d20ead6..2d470048b1 100644 --- a/test/output/autoConnectedScatterplot.svg +++ b/test/output/autoConnectedScatterplot.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoDot.svg b/test/output/autoDot.svg index 13d72dd5cc..f3c5411e31 100644 --- a/test/output/autoDot.svg +++ b/test/output/autoDot.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoDotBin.svg b/test/output/autoDotBin.svg index 64d3718ce3..aecc87d69f 100644 --- a/test/output/autoDotBin.svg +++ b/test/output/autoDotBin.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoDotColor.svg b/test/output/autoDotColor.svg index d0192b551b..040afa9bba 100644 --- a/test/output/autoDotColor.svg +++ b/test/output/autoDotColor.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoDotFacet.svg b/test/output/autoDotFacet.svg index c5cbc9c01f..1b55f1eff4 100644 --- a/test/output/autoDotFacet.svg +++ b/test/output/autoDotFacet.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoDotFacet2.svg b/test/output/autoDotFacet2.svg index 3160af0d24..b6fdb36fd9 100644 --- a/test/output/autoDotFacet2.svg +++ b/test/output/autoDotFacet2.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoDotGroup.svg b/test/output/autoDotGroup.svg index 6d310000bc..414cb1aa68 100644 --- a/test/output/autoDotGroup.svg +++ b/test/output/autoDotGroup.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoDotOrdCont.svg b/test/output/autoDotOrdCont.svg index b8d95236c8..8b655d2faa 100644 --- a/test/output/autoDotOrdCont.svg +++ b/test/output/autoDotOrdCont.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoDotOrdinal.svg b/test/output/autoDotOrdinal.svg index 005d304738..2245abd1d3 100644 --- a/test/output/autoDotOrdinal.svg +++ b/test/output/autoDotOrdinal.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoDotSize.svg b/test/output/autoDotSize.svg index 5f63a8fa47..1f34f4743f 100644 --- a/test/output/autoDotSize.svg +++ b/test/output/autoDotSize.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoDotSize2.svg b/test/output/autoDotSize2.svg index 224c2afc25..037e0e30fd 100644 --- a/test/output/autoDotSize2.svg +++ b/test/output/autoDotSize2.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoDotUnsortedDate.svg b/test/output/autoDotUnsortedDate.svg index 30d664e7c5..a1dc205415 100644 --- a/test/output/autoDotUnsortedDate.svg +++ b/test/output/autoDotUnsortedDate.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoDotZero.svg b/test/output/autoDotZero.svg index a1837e91d1..e0ba2837b4 100644 --- a/test/output/autoDotZero.svg +++ b/test/output/autoDotZero.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoHeatmap.svg b/test/output/autoHeatmap.svg index a22a2400ae..f4bc14ff89 100644 --- a/test/output/autoHeatmap.svg +++ b/test/output/autoHeatmap.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoHeatmapOrdCont.svg b/test/output/autoHeatmapOrdCont.svg index af5ec467a0..6bccba00c8 100644 --- a/test/output/autoHeatmapOrdCont.svg +++ b/test/output/autoHeatmapOrdCont.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoHeatmapOrdinal.svg b/test/output/autoHeatmapOrdinal.svg index 71b42fc1eb..e424fa5b9a 100644 --- a/test/output/autoHeatmapOrdinal.svg +++ b/test/output/autoHeatmapOrdinal.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoHistogram.svg b/test/output/autoHistogram.svg index 12fdead10c..fff26d57ae 100644 --- a/test/output/autoHistogram.svg +++ b/test/output/autoHistogram.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoHistogramDate.svg b/test/output/autoHistogramDate.svg index 0ed682670c..baa68300cf 100644 --- a/test/output/autoHistogramDate.svg +++ b/test/output/autoHistogramDate.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoHistogramGroup.svg b/test/output/autoHistogramGroup.svg index 3441715bef..25bf9ffc10 100644 --- a/test/output/autoHistogramGroup.svg +++ b/test/output/autoHistogramGroup.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoLine.svg b/test/output/autoLine.svg index 0fea073253..4472181e4c 100644 --- a/test/output/autoLine.svg +++ b/test/output/autoLine.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoLineColor.svg b/test/output/autoLineColor.svg index e3267fd3aa..f4bce42d47 100644 --- a/test/output/autoLineColor.svg +++ b/test/output/autoLineColor.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoLineColorSeries.svg b/test/output/autoLineColorSeries.svg index 71625400fc..9a6b1a5825 100644 --- a/test/output/autoLineColorSeries.svg +++ b/test/output/autoLineColorSeries.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoLineFacet.svg b/test/output/autoLineFacet.svg index 20f3f4ce36..0510622db4 100644 --- a/test/output/autoLineFacet.svg +++ b/test/output/autoLineFacet.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoLineHistogram.svg b/test/output/autoLineHistogram.svg index bdbe2b0579..1401b95f76 100644 --- a/test/output/autoLineHistogram.svg +++ b/test/output/autoLineHistogram.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoLineMean.svg b/test/output/autoLineMean.svg index e66513489c..ad847a1460 100644 --- a/test/output/autoLineMean.svg +++ b/test/output/autoLineMean.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoLineMeanColor.svg b/test/output/autoLineMeanColor.svg index 0ab0482e57..4d31014cd6 100644 --- a/test/output/autoLineMeanColor.svg +++ b/test/output/autoLineMeanColor.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoLineMeanThresholds.svg b/test/output/autoLineMeanThresholds.svg index 91e9bc938d..1785361aa8 100644 --- a/test/output/autoLineMeanThresholds.svg +++ b/test/output/autoLineMeanThresholds.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoLineMeanZero.svg b/test/output/autoLineMeanZero.svg index 09fed388cc..4ef4c58617 100644 --- a/test/output/autoLineMeanZero.svg +++ b/test/output/autoLineMeanZero.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoLineZero.svg b/test/output/autoLineZero.svg index 911d370189..18a4224a20 100644 --- a/test/output/autoLineZero.svg +++ b/test/output/autoLineZero.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoNullReduceContinuous.svg b/test/output/autoNullReduceContinuous.svg index 7ff04232ad..70b82d9759 100644 --- a/test/output/autoNullReduceContinuous.svg +++ b/test/output/autoNullReduceContinuous.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoNullReduceDate.svg b/test/output/autoNullReduceDate.svg index 1393fe90e0..e873e874bc 100644 --- a/test/output/autoNullReduceDate.svg +++ b/test/output/autoNullReduceDate.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoNullReduceOrdinal.svg b/test/output/autoNullReduceOrdinal.svg index 355bbe1f78..6882394ff3 100644 --- a/test/output/autoNullReduceOrdinal.svg +++ b/test/output/autoNullReduceOrdinal.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoRectColorReducer.svg b/test/output/autoRectColorReducer.svg index 4ebba9f114..91624685d2 100644 --- a/test/output/autoRectColorReducer.svg +++ b/test/output/autoRectColorReducer.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoRectStackColor.svg b/test/output/autoRectStackColor.svg index 8ed4fcf340..8b3aca9a49 100644 --- a/test/output/autoRectStackColor.svg +++ b/test/output/autoRectStackColor.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/autoRuleZero.svg b/test/output/autoRuleZero.svg index 35f7f63579..d55a250a0c 100644 --- a/test/output/autoRuleZero.svg +++ b/test/output/autoRuleZero.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/availability.svg b/test/output/availability.svg index b153c1f0a3..56fec7f8ba 100644 --- a/test/output/availability.svg +++ b/test/output/availability.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/axisLabelBoth.svg b/test/output/axisLabelBoth.svg index 70483a5fbb..2dd6080717 100644 --- a/test/output/axisLabelBoth.svg +++ b/test/output/axisLabelBoth.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/axisLabelBothReverse.svg b/test/output/axisLabelBothReverse.svg index 526d2d59fd..59ae84fe25 100644 --- a/test/output/axisLabelBothReverse.svg +++ b/test/output/axisLabelBothReverse.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/axisLabelHref.svg b/test/output/axisLabelHref.svg index 8b1070404f..840ddc438b 100644 --- a/test/output/axisLabelHref.svg +++ b/test/output/axisLabelHref.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/axisLabelVaryingFill.svg b/test/output/axisLabelVaryingFill.svg index 2820499f23..fa0d92fb87 100644 --- a/test/output/axisLabelVaryingFill.svg +++ b/test/output/axisLabelVaryingFill.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/axisLabelX.svg b/test/output/axisLabelX.svg index 11d858d13e..10ee8755d5 100644 --- a/test/output/axisLabelX.svg +++ b/test/output/axisLabelX.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/axisLabelY.svg b/test/output/axisLabelY.svg index 3138af7481..98cb9b619c 100644 --- a/test/output/axisLabelY.svg +++ b/test/output/axisLabelY.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/ballotStatusRace.svg b/test/output/ballotStatusRace.svg index 7650749658..f39f50980a 100644 --- a/test/output/ballotStatusRace.svg +++ b/test/output/ballotStatusRace.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/bandClip.svg b/test/output/bandClip.svg index 9212b5a80f..24a4275e91 100644 --- a/test/output/bandClip.svg +++ b/test/output/bandClip.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/bandClip2.svg b/test/output/bandClip2.svg index c04df8793b..2ea9667804 100644 --- a/test/output/bandClip2.svg +++ b/test/output/bandClip2.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/beagle.svg b/test/output/beagle.svg index 15fc0c3035..21e31388c4 100644 --- a/test/output/beagle.svg +++ b/test/output/beagle.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/beckerBarley.svg b/test/output/beckerBarley.svg index 730b6577c7..d55db9019c 100644 --- a/test/output/beckerBarley.svg +++ b/test/output/beckerBarley.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/bigint1.svg b/test/output/bigint1.svg index 13dc669d1c..dce12ef9d9 100644 --- a/test/output/bigint1.svg +++ b/test/output/bigint1.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/bigint2.svg b/test/output/bigint2.svg index 5d9679caad..bb2e1754ac 100644 --- a/test/output/bigint2.svg +++ b/test/output/bigint2.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/bigintLog.svg b/test/output/bigintLog.svg index 39834d34c6..e0474b6d2c 100644 --- a/test/output/bigintLog.svg +++ b/test/output/bigintLog.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/bigintOrdinal.html b/test/output/bigintOrdinal.html index 57bd09462f..de0d75a882 100644 --- a/test/output/bigintOrdinal.html +++ b/test/output/bigintOrdinal.html @@ -65,6 +65,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/bigintStack.svg b/test/output/bigintStack.svg index e4eb805dd9..53ece0e604 100644 --- a/test/output/bigintStack.svg +++ b/test/output/bigintStack.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/bin1m.svg b/test/output/bin1m.svg index 12449de3d3..05633efdc9 100644 --- a/test/output/bin1m.svg +++ b/test/output/bin1m.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/binStrings.svg b/test/output/binStrings.svg index 0856d3c6ed..d0ff913a32 100644 --- a/test/output/binStrings.svg +++ b/test/output/binStrings.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/binTimestamps.svg b/test/output/binTimestamps.svg index dab9e7e3fd..fac71d7ef7 100644 --- a/test/output/binTimestamps.svg +++ b/test/output/binTimestamps.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/boundingBoxes.svg b/test/output/boundingBoxes.svg index bf7769c112..6cc8f78b30 100644 --- a/test/output/boundingBoxes.svg +++ b/test/output/boundingBoxes.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/boxplot.svg b/test/output/boxplot.svg index 1a52874cd4..8ada7fdd8a 100644 --- a/test/output/boxplot.svg +++ b/test/output/boxplot.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/boxplotFacetInterval.svg b/test/output/boxplotFacetInterval.svg index 3c5f27600d..28a56bf8ff 100644 --- a/test/output/boxplotFacetInterval.svg +++ b/test/output/boxplotFacetInterval.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/boxplotFacetNegativeInterval.svg b/test/output/boxplotFacetNegativeInterval.svg index 3c5f27600d..28a56bf8ff 100644 --- a/test/output/boxplotFacetNegativeInterval.svg +++ b/test/output/boxplotFacetNegativeInterval.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/caltrain.html b/test/output/caltrain.html index 4649d3ed15..fd3dbb7ce2 100644 --- a/test/output/caltrain.html +++ b/test/output/caltrain.html @@ -39,6 +39,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/caltrainDirection.svg b/test/output/caltrainDirection.svg index a29db0b289..da860e20b6 100644 --- a/test/output/caltrainDirection.svg +++ b/test/output/caltrainDirection.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/carsDodge.svg b/test/output/carsDodge.svg index a2ee9c9388..4c6f4a122f 100644 --- a/test/output/carsDodge.svg +++ b/test/output/carsDodge.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/carsHexbin.html b/test/output/carsHexbin.html index 007f1c8e13..89dccdc753 100644 --- a/test/output/carsHexbin.html +++ b/test/output/carsHexbin.html @@ -41,6 +41,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/carsJitter.html b/test/output/carsJitter.html index b107b74bc4..c5753c66bb 100644 --- a/test/output/carsJitter.html +++ b/test/output/carsJitter.html @@ -41,6 +41,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/carsMpg.svg b/test/output/carsMpg.svg index 5d6cb178bc..4b36e79964 100644 --- a/test/output/carsMpg.svg +++ b/test/output/carsMpg.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/carsParcoords.svg b/test/output/carsParcoords.svg index b6eb73b26c..6135138e13 100644 --- a/test/output/carsParcoords.svg +++ b/test/output/carsParcoords.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/clamp.svg b/test/output/clamp.svg index 0247b29d4f..4675d04c62 100644 --- a/test/output/clamp.svg +++ b/test/output/clamp.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/collapsedHistogram.svg b/test/output/collapsedHistogram.svg index 5a9c77549e..93a2b81c50 100644 --- a/test/output/collapsedHistogram.svg +++ b/test/output/collapsedHistogram.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/contourCa55.svg b/test/output/contourCa55.svg index a71de5a62f..16dd0d3190 100644 --- a/test/output/contourCa55.svg +++ b/test/output/contourCa55.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/contourVapor.svg b/test/output/contourVapor.svg index fa1e59a104..e669d9ac7e 100644 --- a/test/output/contourVapor.svg +++ b/test/output/contourVapor.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/countryCentroids.svg b/test/output/countryCentroids.svg index 06d2c1cc95..5ab1a7d409 100644 --- a/test/output/countryCentroids.svg +++ b/test/output/countryCentroids.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/covidIhmeProjectedDeaths.svg b/test/output/covidIhmeProjectedDeaths.svg index f2c9c78991..7009a78f73 100644 --- a/test/output/covidIhmeProjectedDeaths.svg +++ b/test/output/covidIhmeProjectedDeaths.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/crimeanWarArrow.svg b/test/output/crimeanWarArrow.svg index 6cbdd9b0e8..d568147d51 100644 --- a/test/output/crimeanWarArrow.svg +++ b/test/output/crimeanWarArrow.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/crimeanWarLine.svg b/test/output/crimeanWarLine.svg index 8a4581d3f4..520448f16d 100644 --- a/test/output/crimeanWarLine.svg +++ b/test/output/crimeanWarLine.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/crimeanWarOverlapped.svg b/test/output/crimeanWarOverlapped.svg index c8ce87e509..e8c14c03b8 100644 --- a/test/output/crimeanWarOverlapped.svg +++ b/test/output/crimeanWarOverlapped.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/crimeanWarStacked.svg b/test/output/crimeanWarStacked.svg index 7ac0a49b7c..73f5ec7c8e 100644 --- a/test/output/crimeanWarStacked.svg +++ b/test/output/crimeanWarStacked.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/d3Survey2015Comfort.svg b/test/output/d3Survey2015Comfort.svg index 00de2f47c7..aca3a22280 100644 --- a/test/output/d3Survey2015Comfort.svg +++ b/test/output/d3Survey2015Comfort.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/d3Survey2015Why.svg b/test/output/d3Survey2015Why.svg index 59adba0ba4..62a6c96a40 100644 --- a/test/output/d3Survey2015Why.svg +++ b/test/output/d3Survey2015Why.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/darkerDodge.svg b/test/output/darkerDodge.svg index 885cbdf99f..9d59c10469 100644 --- a/test/output/darkerDodge.svg +++ b/test/output/darkerDodge.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/decathlon.html b/test/output/decathlon.html index 61394ba1e7..e0a067f5a8 100644 --- a/test/output/decathlon.html +++ b/test/output/decathlon.html @@ -47,6 +47,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/diamondsBoxplot.svg b/test/output/diamondsBoxplot.svg index 7025dcbc99..3588500da8 100644 --- a/test/output/diamondsBoxplot.svg +++ b/test/output/diamondsBoxplot.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/diamondsCaratPrice.svg b/test/output/diamondsCaratPrice.svg index 174e882d5c..3e299cb6f3 100644 --- a/test/output/diamondsCaratPrice.svg +++ b/test/output/diamondsCaratPrice.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/diamondsCaratPriceDots.svg b/test/output/diamondsCaratPriceDots.svg index a047134980..3725f5d23a 100644 --- a/test/output/diamondsCaratPriceDots.svg +++ b/test/output/diamondsCaratPriceDots.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/diamondsCaratSampling.svg b/test/output/diamondsCaratSampling.svg index 454163d940..71f98f71bc 100644 --- a/test/output/diamondsCaratSampling.svg +++ b/test/output/diamondsCaratSampling.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/documentationLinks.svg b/test/output/documentationLinks.svg index 1bf81d1de9..f3e08372af 100644 --- a/test/output/documentationLinks.svg +++ b/test/output/documentationLinks.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/dodgeRule.svg b/test/output/dodgeRule.svg index 65a2e3c45a..08abde84c0 100644 --- a/test/output/dodgeRule.svg +++ b/test/output/dodgeRule.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/dodgeTextRadius.svg b/test/output/dodgeTextRadius.svg index f23baabca7..3b1fac8128 100644 --- a/test/output/dodgeTextRadius.svg +++ b/test/output/dodgeTextRadius.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/dodgeTick.svg b/test/output/dodgeTick.svg index 01b69b07f7..06610a6c93 100644 --- a/test/output/dodgeTick.svg +++ b/test/output/dodgeTick.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/dotSort.html b/test/output/dotSort.html index 39a9d2683b..7bb97242bf 100644 --- a/test/output/dotSort.html +++ b/test/output/dotSort.html @@ -7,6 +7,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, @@ -36,6 +37,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, @@ -65,6 +67,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, @@ -94,6 +97,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, @@ -123,6 +127,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, @@ -152,6 +157,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, @@ -181,6 +187,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/downloads.svg b/test/output/downloads.svg index 0a1d547c3c..a17c485802 100644 --- a/test/output/downloads.svg +++ b/test/output/downloads.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/downloadsOrdinal.svg b/test/output/downloadsOrdinal.svg index a4a5b232b7..8f9b9ad6b2 100644 --- a/test/output/downloadsOrdinal.svg +++ b/test/output/downloadsOrdinal.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/driving.svg b/test/output/driving.svg index eacb3ff226..337305e9e7 100644 --- a/test/output/driving.svg +++ b/test/output/driving.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/electricityDemand.svg b/test/output/electricityDemand.svg index 7c9ace6b68..1f210550b2 100644 --- a/test/output/electricityDemand.svg +++ b/test/output/electricityDemand.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/empty.svg b/test/output/empty.svg index 07ddee3cd3..2c49f09e01 100644 --- a/test/output/empty.svg +++ b/test/output/empty.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/emptyFacet.svg b/test/output/emptyFacet.svg index 20359d2172..756d917bdf 100644 --- a/test/output/emptyFacet.svg +++ b/test/output/emptyFacet.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/emptyLegend.svg b/test/output/emptyLegend.svg index 26028ee166..5ddac17555 100644 --- a/test/output/emptyLegend.svg +++ b/test/output/emptyLegend.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/emptyX.svg b/test/output/emptyX.svg index 26028ee166..5ddac17555 100644 --- a/test/output/emptyX.svg +++ b/test/output/emptyX.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/energyProduction.html b/test/output/energyProduction.html index d12be04d6f..88f8dc1e9f 100644 --- a/test/output/energyProduction.html +++ b/test/output/energyProduction.html @@ -39,6 +39,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/faithfulDensity.svg b/test/output/faithfulDensity.svg index 642a6149b9..d8d922a21f 100644 --- a/test/output/faithfulDensity.svg +++ b/test/output/faithfulDensity.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/faithfulDensity1d.svg b/test/output/faithfulDensity1d.svg index 8b586df10c..14a8eec3be 100644 --- a/test/output/faithfulDensity1d.svg +++ b/test/output/faithfulDensity1d.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/faithfulDensityFill.svg b/test/output/faithfulDensityFill.svg index 6eea3f4cd4..827b667cb8 100644 --- a/test/output/faithfulDensityFill.svg +++ b/test/output/faithfulDensityFill.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/federalFunds.svg b/test/output/federalFunds.svg index d3e5c06821..cdf036dc56 100644 --- a/test/output/federalFunds.svg +++ b/test/output/federalFunds.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/figcaption.html b/test/output/figcaption.html index 9e6f16c36c..ba9a63c54e 100644 --- a/test/output/figcaption.html +++ b/test/output/figcaption.html @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/figcaptionHtml.html b/test/output/figcaptionHtml.html index 8ad1bd9022..77793102a8 100644 --- a/test/output/figcaptionHtml.html +++ b/test/output/figcaptionHtml.html @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/firstLadies.svg b/test/output/firstLadies.svg index 6b7622d144..48e709b3d4 100644 --- a/test/output/firstLadies.svg +++ b/test/output/firstLadies.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/flareCluster.svg b/test/output/flareCluster.svg index 6e54354e41..6cb70c976a 100644 --- a/test/output/flareCluster.svg +++ b/test/output/flareCluster.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/flareIndent.svg b/test/output/flareIndent.svg index c21599c161..f3e70ab04c 100644 --- a/test/output/flareIndent.svg +++ b/test/output/flareIndent.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/flareTree.svg b/test/output/flareTree.svg index 2d9271f72a..b005b2887b 100644 --- a/test/output/flareTree.svg +++ b/test/output/flareTree.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/footballCoverage.svg b/test/output/footballCoverage.svg index de6d8e03fd..30fc5c2ddd 100644 --- a/test/output/footballCoverage.svg +++ b/test/output/footballCoverage.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/frameCorners.svg b/test/output/frameCorners.svg index 6c4b4e19c7..5ff4dab6b2 100644 --- a/test/output/frameCorners.svg +++ b/test/output/frameCorners.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/frameFacet.svg b/test/output/frameFacet.svg index d995f68ca6..c52f82e7f9 100644 --- a/test/output/frameFacet.svg +++ b/test/output/frameFacet.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/frameFillCategorical.html b/test/output/frameFillCategorical.html index 09dec9776a..6e3e7c2d14 100644 --- a/test/output/frameFillCategorical.html +++ b/test/output/frameFillCategorical.html @@ -39,6 +39,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/frameFillQuantitative.html b/test/output/frameFillQuantitative.html index 6fec3e8e1e..acd2db8dd6 100644 --- a/test/output/frameFillQuantitative.html +++ b/test/output/frameFillQuantitative.html @@ -48,6 +48,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/frameSides.svg b/test/output/frameSides.svg index 6951c062c1..a3256b557a 100644 --- a/test/output/frameSides.svg +++ b/test/output/frameSides.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/frameSidesX.svg b/test/output/frameSidesX.svg index 9cc11f37af..2f8aac0b0f 100644 --- a/test/output/frameSidesX.svg +++ b/test/output/frameSidesX.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/frameSidesXY.svg b/test/output/frameSidesXY.svg index f331b8c7fc..07d20d5053 100644 --- a/test/output/frameSidesXY.svg +++ b/test/output/frameSidesXY.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/frameSidesY.svg b/test/output/frameSidesY.svg index d43dc40b30..923d587986 100644 --- a/test/output/frameSidesY.svg +++ b/test/output/frameSidesY.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/fruitSales.svg b/test/output/fruitSales.svg index ba70fb80a8..60d76a929d 100644 --- a/test/output/fruitSales.svg +++ b/test/output/fruitSales.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/fruitSalesDate.svg b/test/output/fruitSalesDate.svg index 4425c34153..2a0dc57c81 100644 --- a/test/output/fruitSalesDate.svg +++ b/test/output/fruitSalesDate.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/functionContour.svg b/test/output/functionContour.svg index eeaac7e3c8..b842edf1e8 100644 --- a/test/output/functionContour.svg +++ b/test/output/functionContour.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/functionContourFaceted.svg b/test/output/functionContourFaceted.svg index e2b7f44fd5..890483c349 100644 --- a/test/output/functionContourFaceted.svg +++ b/test/output/functionContourFaceted.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/functionContourFaceted2.svg b/test/output/functionContourFaceted2.svg index e2b7f44fd5..890483c349 100644 --- a/test/output/functionContourFaceted2.svg +++ b/test/output/functionContourFaceted2.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/futureSplom.svg b/test/output/futureSplom.svg index 12ceb16f6c..919492bafd 100644 --- a/test/output/futureSplom.svg +++ b/test/output/futureSplom.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/geoLink.svg b/test/output/geoLink.svg index 6a5ecbeb61..dff7164fae 100644 --- a/test/output/geoLink.svg +++ b/test/output/geoLink.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/gistempAnomaly.svg b/test/output/gistempAnomaly.svg index 093eb9884c..7e7b053e18 100644 --- a/test/output/gistempAnomaly.svg +++ b/test/output/gistempAnomaly.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/gistempAnomalyMoving.svg b/test/output/gistempAnomalyMoving.svg index 57c2a4d765..1747aa3de9 100644 --- a/test/output/gistempAnomalyMoving.svg +++ b/test/output/gistempAnomalyMoving.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/gistempAnomalyTransform.svg b/test/output/gistempAnomalyTransform.svg index 504b9de015..03e69e7d82 100644 --- a/test/output/gistempAnomalyTransform.svg +++ b/test/output/gistempAnomalyTransform.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/googleTrendsRidgeline.svg b/test/output/googleTrendsRidgeline.svg index deb225ade6..bcfb2d8e21 100644 --- a/test/output/googleTrendsRidgeline.svg +++ b/test/output/googleTrendsRidgeline.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/graticule.svg b/test/output/graticule.svg index d5ee13ac11..9f083556e6 100644 --- a/test/output/graticule.svg +++ b/test/output/graticule.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/greekGods.svg b/test/output/greekGods.svg index 8e88e87ec0..9c637ddd6a 100644 --- a/test/output/greekGods.svg +++ b/test/output/greekGods.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/greekGodsExplicit.svg b/test/output/greekGodsExplicit.svg index 8f1adc4849..fef11366f5 100644 --- a/test/output/greekGodsExplicit.svg +++ b/test/output/greekGodsExplicit.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/gridChoropleth.svg b/test/output/gridChoropleth.svg index 1e8a864b02..f582e51b63 100644 --- a/test/output/gridChoropleth.svg +++ b/test/output/gridChoropleth.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/gridChoroplethDx.svg b/test/output/gridChoroplethDx.svg index 0a84911db1..e7427533d6 100644 --- a/test/output/gridChoroplethDx.svg +++ b/test/output/gridChoroplethDx.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/gridReduceIdentity.svg b/test/output/gridReduceIdentity.svg index 270185a445..3edac60aa2 100644 --- a/test/output/gridReduceIdentity.svg +++ b/test/output/gridReduceIdentity.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/groupedRects.svg b/test/output/groupedRects.svg index 1ab2d809de..640f093ffd 100644 --- a/test/output/groupedRects.svg +++ b/test/output/groupedRects.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/hadcrutWarmingStripes.svg b/test/output/hadcrutWarmingStripes.svg index f6c043c161..15bf52cbe6 100644 --- a/test/output/hadcrutWarmingStripes.svg +++ b/test/output/hadcrutWarmingStripes.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/heatmap.svg b/test/output/heatmap.svg index 56ff0eebec..3682834f89 100644 --- a/test/output/heatmap.svg +++ b/test/output/heatmap.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/heatmapArray.svg b/test/output/heatmapArray.svg index 56ff0eebec..3682834f89 100644 --- a/test/output/heatmapArray.svg +++ b/test/output/heatmapArray.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/heatmapConstantOpacity.svg b/test/output/heatmapConstantOpacity.svg index 1c6ab32b33..943a413988 100644 --- a/test/output/heatmapConstantOpacity.svg +++ b/test/output/heatmapConstantOpacity.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/heatmapFaceted.svg b/test/output/heatmapFaceted.svg index cb80d84132..0614a70390 100644 --- a/test/output/heatmapFaceted.svg +++ b/test/output/heatmapFaceted.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/heatmapFillOpacity.svg b/test/output/heatmapFillOpacity.svg index 9b073875da..42ce2cd50d 100644 --- a/test/output/heatmapFillOpacity.svg +++ b/test/output/heatmapFillOpacity.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/heatmapLog.svg b/test/output/heatmapLog.svg index 340f4de176..b0990c541f 100644 --- a/test/output/heatmapLog.svg +++ b/test/output/heatmapLog.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/heatmapOpacity.svg b/test/output/heatmapOpacity.svg index 0fdd4d3d9d..257c000658 100644 --- a/test/output/heatmapOpacity.svg +++ b/test/output/heatmapOpacity.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/heatmapPartial.svg b/test/output/heatmapPartial.svg index cc3d63f874..83b8538603 100644 --- a/test/output/heatmapPartial.svg +++ b/test/output/heatmapPartial.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/hexbin.svg b/test/output/hexbin.svg index 9a68c8e133..cf392bb0a2 100644 --- a/test/output/hexbin.svg +++ b/test/output/hexbin.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/hexbinIdentityReduce.svg b/test/output/hexbinIdentityReduce.svg index 46d5b11a90..c5d7540a3b 100644 --- a/test/output/hexbinIdentityReduce.svg +++ b/test/output/hexbinIdentityReduce.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/hexbinOranges.svg b/test/output/hexbinOranges.svg index 9bb323604f..72963f3e15 100644 --- a/test/output/hexbinOranges.svg +++ b/test/output/hexbinOranges.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/hexbinR.html b/test/output/hexbinR.html index f24daf11db..25e5550092 100644 --- a/test/output/hexbinR.html +++ b/test/output/hexbinR.html @@ -41,6 +41,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/hexbinSymbol.html b/test/output/hexbinSymbol.html index a3762a1246..cd4af80961 100644 --- a/test/output/hexbinSymbol.html +++ b/test/output/hexbinSymbol.html @@ -39,6 +39,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/hexbinText.svg b/test/output/hexbinText.svg index 354ab5a8da..d6cd86736e 100644 --- a/test/output/hexbinText.svg +++ b/test/output/hexbinText.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/hexbinZ.html b/test/output/hexbinZ.html index 0356239603..bab27dfcbb 100644 --- a/test/output/hexbinZ.html +++ b/test/output/hexbinZ.html @@ -39,6 +39,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/hexbinZNull.svg b/test/output/hexbinZNull.svg index 5baa97d18c..75e87ee9e4 100644 --- a/test/output/hexbinZNull.svg +++ b/test/output/hexbinZNull.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/highCardinalityOrdinal.svg b/test/output/highCardinalityOrdinal.svg index 6bfc0b4689..0e60fbbbc8 100644 --- a/test/output/highCardinalityOrdinal.svg +++ b/test/output/highCardinalityOrdinal.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/hrefFill.svg b/test/output/hrefFill.svg index 09f1fd7d27..34cc1487a0 100644 --- a/test/output/hrefFill.svg +++ b/test/output/hrefFill.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/ibmTrading.svg b/test/output/ibmTrading.svg index acea2508f6..41a99607cd 100644 --- a/test/output/ibmTrading.svg +++ b/test/output/ibmTrading.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/identityScale.svg b/test/output/identityScale.svg index 59e4cd53cd..0bb896a0e3 100644 --- a/test/output/identityScale.svg +++ b/test/output/identityScale.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/imagePixelated.svg b/test/output/imagePixelated.svg index f37359698c..3a18424508 100644 --- a/test/output/imagePixelated.svg +++ b/test/output/imagePixelated.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/industryUnemployment.svg b/test/output/industryUnemployment.svg index ad26238b60..a989c16ac2 100644 --- a/test/output/industryUnemployment.svg +++ b/test/output/industryUnemployment.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/industryUnemploymentShare.svg b/test/output/industryUnemploymentShare.svg index f4ee7f80c8..dc57eedba5 100644 --- a/test/output/industryUnemploymentShare.svg +++ b/test/output/industryUnemploymentShare.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/industryUnemploymentStream.svg b/test/output/industryUnemploymentStream.svg index 0dfc333e77..6ab5f4aff0 100644 --- a/test/output/industryUnemploymentStream.svg +++ b/test/output/industryUnemploymentStream.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/industryUnemploymentTrack.svg b/test/output/industryUnemploymentTrack.svg index 1fdb4b52c6..e20c64b931 100644 --- a/test/output/industryUnemploymentTrack.svg +++ b/test/output/industryUnemploymentTrack.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/infinityLog.svg b/test/output/infinityLog.svg index 29f8c25471..856514c69e 100644 --- a/test/output/infinityLog.svg +++ b/test/output/infinityLog.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/integerInterval.svg b/test/output/integerInterval.svg index 45f71125ea..776aa7c06e 100644 --- a/test/output/integerInterval.svg +++ b/test/output/integerInterval.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/internFacetDate.svg b/test/output/internFacetDate.svg index 93fb889a26..5678997ace 100644 --- a/test/output/internFacetDate.svg +++ b/test/output/internFacetDate.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/internFacetNaN.svg b/test/output/internFacetNaN.svg index ee1056d738..908f9c9a7b 100644 --- a/test/output/internFacetNaN.svg +++ b/test/output/internFacetNaN.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/intervalAwareBin.svg b/test/output/intervalAwareBin.svg index 125ee55b60..65c6a4e3f4 100644 --- a/test/output/intervalAwareBin.svg +++ b/test/output/intervalAwareBin.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/intervalAwareGroup.svg b/test/output/intervalAwareGroup.svg index 60b422dd8c..cf45e5b9ce 100644 --- a/test/output/intervalAwareGroup.svg +++ b/test/output/intervalAwareGroup.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/intervalAwareStack.svg b/test/output/intervalAwareStack.svg index f7f35b3235..9c8a5be28e 100644 --- a/test/output/intervalAwareStack.svg +++ b/test/output/intervalAwareStack.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/intradayHistogram.svg b/test/output/intradayHistogram.svg index 75ea137278..8d08b1d184 100644 --- a/test/output/intradayHistogram.svg +++ b/test/output/intradayHistogram.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/kittenConstant.svg b/test/output/kittenConstant.svg index 87e5f19771..f01cbd8c85 100644 --- a/test/output/kittenConstant.svg +++ b/test/output/kittenConstant.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/kittenConstantRotate.svg b/test/output/kittenConstantRotate.svg index b36f1728d4..67eeec0721 100644 --- a/test/output/kittenConstantRotate.svg +++ b/test/output/kittenConstantRotate.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/kittenConstantWidthHeight.svg b/test/output/kittenConstantWidthHeight.svg index 74ce54e201..5a7fed1463 100644 --- a/test/output/kittenConstantWidthHeight.svg +++ b/test/output/kittenConstantWidthHeight.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/kittenVariable.svg b/test/output/kittenVariable.svg index 9e927948ae..d6cb991822 100644 --- a/test/output/kittenVariable.svg +++ b/test/output/kittenVariable.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/kittenVariableDodge.svg b/test/output/kittenVariableDodge.svg index c505f2edc2..80b3a573d5 100644 --- a/test/output/kittenVariableDodge.svg +++ b/test/output/kittenVariableDodge.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/kittenVariableRotate.svg b/test/output/kittenVariableRotate.svg index 8328c8745c..2dc75c21cc 100644 --- a/test/output/kittenVariableRotate.svg +++ b/test/output/kittenVariableRotate.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/learningPoverty.svg b/test/output/learningPoverty.svg index 082a864ac5..ee5408620d 100644 --- a/test/output/learningPoverty.svg +++ b/test/output/learningPoverty.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/letterFrequencyBar.svg b/test/output/letterFrequencyBar.svg index d1b0b15ebb..0cd442e554 100644 --- a/test/output/letterFrequencyBar.svg +++ b/test/output/letterFrequencyBar.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/letterFrequencyCloud.svg b/test/output/letterFrequencyCloud.svg index cccdd61087..4b182378a0 100644 --- a/test/output/letterFrequencyCloud.svg +++ b/test/output/letterFrequencyCloud.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/letterFrequencyColumn.svg b/test/output/letterFrequencyColumn.svg index 3ca1a31b8e..d73aa0ddf9 100644 --- a/test/output/letterFrequencyColumn.svg +++ b/test/output/letterFrequencyColumn.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/letterFrequencyDot.svg b/test/output/letterFrequencyDot.svg index 932d1d8e3b..1f4d4058a5 100644 --- a/test/output/letterFrequencyDot.svg +++ b/test/output/letterFrequencyDot.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/letterFrequencyLollipop.svg b/test/output/letterFrequencyLollipop.svg index 8720939638..3fcd69f211 100644 --- a/test/output/letterFrequencyLollipop.svg +++ b/test/output/letterFrequencyLollipop.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/letterFrequencyWheel.svg b/test/output/letterFrequencyWheel.svg index 74f8f9a01b..1c33a7ed48 100644 --- a/test/output/letterFrequencyWheel.svg +++ b/test/output/letterFrequencyWheel.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/liborProjections.svg b/test/output/liborProjections.svg index 07a355da5e..c64d7c49f6 100644 --- a/test/output/liborProjections.svg +++ b/test/output/liborProjections.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/likertSurvey.html b/test/output/likertSurvey.html index bafcad0b79..30fb032c0a 100644 --- a/test/output/likertSurvey.html +++ b/test/output/likertSurvey.html @@ -43,6 +43,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/linearRegressionCars.svg b/test/output/linearRegressionCars.svg index 35c8829baa..10d081e129 100644 --- a/test/output/linearRegressionCars.svg +++ b/test/output/linearRegressionCars.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/linearRegressionMtcars.svg b/test/output/linearRegressionMtcars.svg index 281a18c973..63f931fab4 100644 --- a/test/output/linearRegressionMtcars.svg +++ b/test/output/linearRegressionMtcars.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/linearRegressionPenguins.svg b/test/output/linearRegressionPenguins.svg index 025b2bfbfb..a8d3bf08c4 100644 --- a/test/output/linearRegressionPenguins.svg +++ b/test/output/linearRegressionPenguins.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/logDegenerate.svg b/test/output/logDegenerate.svg index c4b30d7b81..12242ef9a5 100644 --- a/test/output/logDegenerate.svg +++ b/test/output/logDegenerate.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/longLabels.svg b/test/output/longLabels.svg index 84dbc6a68b..ad5f835133 100644 --- a/test/output/longLabels.svg +++ b/test/output/longLabels.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/mandelbrot.svg b/test/output/mandelbrot.svg index 68074a7b4e..e82cd3ddc8 100644 --- a/test/output/mandelbrot.svg +++ b/test/output/mandelbrot.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/markovChain.svg b/test/output/markovChain.svg index 5e1030551f..5ae8f85d89 100644 --- a/test/output/markovChain.svg +++ b/test/output/markovChain.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/metroInequality.svg b/test/output/metroInequality.svg index ccfa66c249..29b9be0f61 100644 --- a/test/output/metroInequality.svg +++ b/test/output/metroInequality.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/metroInequalityChange.svg b/test/output/metroInequalityChange.svg index e11fc6aa8c..4193c4b324 100644 --- a/test/output/metroInequalityChange.svg +++ b/test/output/metroInequalityChange.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/metroUnemployment.svg b/test/output/metroUnemployment.svg index 041e0444b8..a69415075f 100644 --- a/test/output/metroUnemployment.svg +++ b/test/output/metroUnemployment.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/metroUnemploymentHighlight.svg b/test/output/metroUnemploymentHighlight.svg index 562f15b3d1..6981e53e52 100644 --- a/test/output/metroUnemploymentHighlight.svg +++ b/test/output/metroUnemploymentHighlight.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/metroUnemploymentIndex.svg b/test/output/metroUnemploymentIndex.svg index f8a8ddbc5b..c3ed37b720 100644 --- a/test/output/metroUnemploymentIndex.svg +++ b/test/output/metroUnemploymentIndex.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/metroUnemploymentMoving.svg b/test/output/metroUnemploymentMoving.svg index 9f082e3074..35961913f2 100644 --- a/test/output/metroUnemploymentMoving.svg +++ b/test/output/metroUnemploymentMoving.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/metroUnemploymentNormalize.svg b/test/output/metroUnemploymentNormalize.svg index 02d83f207c..80ec73545b 100644 --- a/test/output/metroUnemploymentNormalize.svg +++ b/test/output/metroUnemploymentNormalize.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/metroUnemploymentRidgeline.svg b/test/output/metroUnemploymentRidgeline.svg index 48d7415254..0de7a237e4 100644 --- a/test/output/metroUnemploymentRidgeline.svg +++ b/test/output/metroUnemploymentRidgeline.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/metroUnemploymentSlope.svg b/test/output/metroUnemploymentSlope.svg index bc3bdb7073..42649d8359 100644 --- a/test/output/metroUnemploymentSlope.svg +++ b/test/output/metroUnemploymentSlope.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/metroUnemploymentStroke.svg b/test/output/metroUnemploymentStroke.svg index f146ab05fb..52a5d1a785 100644 --- a/test/output/metroUnemploymentStroke.svg +++ b/test/output/metroUnemploymentStroke.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/mobyDick.svg b/test/output/mobyDick.svg index cdbb9b9fea..d20d581fad 100644 --- a/test/output/mobyDick.svg +++ b/test/output/mobyDick.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/mobyDickFaceted.svg b/test/output/mobyDickFaceted.svg index 7e8899b166..99ae79aacc 100644 --- a/test/output/mobyDickFaceted.svg +++ b/test/output/mobyDickFaceted.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/mobyDickLetterFrequency.svg b/test/output/mobyDickLetterFrequency.svg index 5f1e0dafe2..2857b62cfc 100644 --- a/test/output/mobyDickLetterFrequency.svg +++ b/test/output/mobyDickLetterFrequency.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/mobyDickLetterPairs.svg b/test/output/mobyDickLetterPairs.svg index 75932be4e7..a3477ed703 100644 --- a/test/output/mobyDickLetterPairs.svg +++ b/test/output/mobyDickLetterPairs.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/mobyDickLetterPosition.svg b/test/output/mobyDickLetterPosition.svg index e7e595f136..0bba7a1511 100644 --- a/test/output/mobyDickLetterPosition.svg +++ b/test/output/mobyDickLetterPosition.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/mobyDickLetterRelativeFrequency.svg b/test/output/mobyDickLetterRelativeFrequency.svg index 00540f64f6..e88b84190b 100644 --- a/test/output/mobyDickLetterRelativeFrequency.svg +++ b/test/output/mobyDickLetterRelativeFrequency.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/morleyBoxplot.svg b/test/output/morleyBoxplot.svg index e0843ea9c2..f54c7411b7 100644 --- a/test/output/morleyBoxplot.svg +++ b/test/output/morleyBoxplot.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/moviesProfitByGenre.svg b/test/output/moviesProfitByGenre.svg index 738f51487a..8e14160271 100644 --- a/test/output/moviesProfitByGenre.svg +++ b/test/output/moviesProfitByGenre.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/moviesRatingByGenre.svg b/test/output/moviesRatingByGenre.svg index abd8f8594e..a18a077b72 100644 --- a/test/output/moviesRatingByGenre.svg +++ b/test/output/moviesRatingByGenre.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/multiplicationTable.svg b/test/output/multiplicationTable.svg index bf541780b0..406d963f46 100644 --- a/test/output/multiplicationTable.svg +++ b/test/output/multiplicationTable.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/musicRevenue.svg b/test/output/musicRevenue.svg index 1ca982b7ae..1bf86c146c 100644 --- a/test/output/musicRevenue.svg +++ b/test/output/musicRevenue.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/npmVersions.svg b/test/output/npmVersions.svg index 4a5ad01e84..6c6252b1f9 100644 --- a/test/output/npmVersions.svg +++ b/test/output/npmVersions.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/ordinalBar.svg b/test/output/ordinalBar.svg index 25b5591ca8..9d227d2563 100644 --- a/test/output/ordinalBar.svg +++ b/test/output/ordinalBar.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinAnnotated.svg b/test/output/penguinAnnotated.svg index 57ef8a5158..930a2bd4c0 100644 --- a/test/output/penguinAnnotated.svg +++ b/test/output/penguinAnnotated.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinCulmen.svg b/test/output/penguinCulmen.svg index 9d633b2571..583e358542 100644 --- a/test/output/penguinCulmen.svg +++ b/test/output/penguinCulmen.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinCulmenArray.svg b/test/output/penguinCulmenArray.svg index 06166cc361..4e88d65ff3 100644 --- a/test/output/penguinCulmenArray.svg +++ b/test/output/penguinCulmenArray.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinCulmenDelaunay.svg b/test/output/penguinCulmenDelaunay.svg index f7e7af50ed..ae5491dd3d 100644 --- a/test/output/penguinCulmenDelaunay.svg +++ b/test/output/penguinCulmenDelaunay.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinCulmenDelaunayMesh.svg b/test/output/penguinCulmenDelaunayMesh.svg index 3f5aa02d05..5c9cf98dbe 100644 --- a/test/output/penguinCulmenDelaunayMesh.svg +++ b/test/output/penguinCulmenDelaunayMesh.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinCulmenDelaunaySpecies.svg b/test/output/penguinCulmenDelaunaySpecies.svg index 9127e36f45..6e9c393949 100644 --- a/test/output/penguinCulmenDelaunaySpecies.svg +++ b/test/output/penguinCulmenDelaunaySpecies.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinCulmenMarkFacet.svg b/test/output/penguinCulmenMarkFacet.svg index a6d4797c7e..bd15425b94 100644 --- a/test/output/penguinCulmenMarkFacet.svg +++ b/test/output/penguinCulmenMarkFacet.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinCulmenVoronoi.svg b/test/output/penguinCulmenVoronoi.svg index 5158383aeb..9e801a935a 100644 --- a/test/output/penguinCulmenVoronoi.svg +++ b/test/output/penguinCulmenVoronoi.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinDensity.svg b/test/output/penguinDensity.svg index 08617640e1..ee4632f288 100644 --- a/test/output/penguinDensity.svg +++ b/test/output/penguinDensity.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinDensityFill.html b/test/output/penguinDensityFill.html index 16e36ef585..63c0dacf30 100644 --- a/test/output/penguinDensityFill.html +++ b/test/output/penguinDensityFill.html @@ -41,6 +41,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinDensityZ.html b/test/output/penguinDensityZ.html index 3aaf1d1a8c..63076c979e 100644 --- a/test/output/penguinDensityZ.html +++ b/test/output/penguinDensityZ.html @@ -39,6 +39,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinDodge.svg b/test/output/penguinDodge.svg index 0c5acf53f2..227c1f44ac 100644 --- a/test/output/penguinDodge.svg +++ b/test/output/penguinDodge.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinDodgeHexbin.svg b/test/output/penguinDodgeHexbin.svg index b1f509e62e..017efa1ac9 100644 --- a/test/output/penguinDodgeHexbin.svg +++ b/test/output/penguinDodgeHexbin.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinDodgeVoronoi.svg b/test/output/penguinDodgeVoronoi.svg index 9a3d461ede..351ba60437 100644 --- a/test/output/penguinDodgeVoronoi.svg +++ b/test/output/penguinDodgeVoronoi.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinFacetAnnotated.svg b/test/output/penguinFacetAnnotated.svg index ac5a99b86c..a0a3b83052 100644 --- a/test/output/penguinFacetAnnotated.svg +++ b/test/output/penguinFacetAnnotated.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinFacetAnnotatedX.svg b/test/output/penguinFacetAnnotatedX.svg index 55ea3e1300..057191493a 100644 --- a/test/output/penguinFacetAnnotatedX.svg +++ b/test/output/penguinFacetAnnotatedX.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinFacetDodge.svg b/test/output/penguinFacetDodge.svg index 841b59bf3a..053e0e5955 100644 --- a/test/output/penguinFacetDodge.svg +++ b/test/output/penguinFacetDodge.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinFacetDodgeIdentity.svg b/test/output/penguinFacetDodgeIdentity.svg index 33d966d178..394c81b2b4 100644 --- a/test/output/penguinFacetDodgeIdentity.svg +++ b/test/output/penguinFacetDodgeIdentity.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinFacetDodgeIsland.html b/test/output/penguinFacetDodgeIsland.html index f4e2665a69..8eef2b2623 100644 --- a/test/output/penguinFacetDodgeIsland.html +++ b/test/output/penguinFacetDodgeIsland.html @@ -39,6 +39,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinFacetDodgeSymbol.html b/test/output/penguinFacetDodgeSymbol.html index d5c8ac2a38..e9375ecca4 100644 --- a/test/output/penguinFacetDodgeSymbol.html +++ b/test/output/penguinFacetDodgeSymbol.html @@ -39,6 +39,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinHexbinColorExplicit.svg b/test/output/penguinHexbinColorExplicit.svg index 239d7d8901..2c8415b1de 100644 --- a/test/output/penguinHexbinColorExplicit.svg +++ b/test/output/penguinHexbinColorExplicit.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinIslandUnknown.svg b/test/output/penguinIslandUnknown.svg index 8608f59d88..bec9e400bf 100644 --- a/test/output/penguinIslandUnknown.svg +++ b/test/output/penguinIslandUnknown.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinMass.svg b/test/output/penguinMass.svg index c4b7955ea9..a3a316d6fd 100644 --- a/test/output/penguinMass.svg +++ b/test/output/penguinMass.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinMassSex.svg b/test/output/penguinMassSex.svg index 663c9bea5f..c706687007 100644 --- a/test/output/penguinMassSex.svg +++ b/test/output/penguinMassSex.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinMassSexSpecies.svg b/test/output/penguinMassSexSpecies.svg index 30721c6a67..3d0fd8f37d 100644 --- a/test/output/penguinMassSexSpecies.svg +++ b/test/output/penguinMassSexSpecies.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinMassSpecies.svg b/test/output/penguinMassSpecies.svg index 008bae66db..98e83f6a2c 100644 --- a/test/output/penguinMassSpecies.svg +++ b/test/output/penguinMassSpecies.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinNA1.svg b/test/output/penguinNA1.svg index af88107510..ab502a3c13 100644 --- a/test/output/penguinNA1.svg +++ b/test/output/penguinNA1.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinNA2.svg b/test/output/penguinNA2.svg index 42a1466e15..9150a8b363 100644 --- a/test/output/penguinNA2.svg +++ b/test/output/penguinNA2.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinNA3.svg b/test/output/penguinNA3.svg index 288a036ea3..1f7326a85d 100644 --- a/test/output/penguinNA3.svg +++ b/test/output/penguinNA3.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinQuantileEmpty.svg b/test/output/penguinQuantileEmpty.svg index 09a0eaa2ae..4fcdee5c46 100644 --- a/test/output/penguinQuantileEmpty.svg +++ b/test/output/penguinQuantileEmpty.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinQuantileUnknown.html b/test/output/penguinQuantileUnknown.html index 4a1327c9e4..ce6b633232 100644 --- a/test/output/penguinQuantileUnknown.html +++ b/test/output/penguinQuantileUnknown.html @@ -47,6 +47,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinSex.svg b/test/output/penguinSex.svg index 646c30c79a..be6b355b2c 100644 --- a/test/output/penguinSex.svg +++ b/test/output/penguinSex.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinSexMassCulmenSpecies.svg b/test/output/penguinSexMassCulmenSpecies.svg index a10962acce..7c136ea6e7 100644 --- a/test/output/penguinSexMassCulmenSpecies.svg +++ b/test/output/penguinSexMassCulmenSpecies.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinSizeSymbols.html b/test/output/penguinSizeSymbols.html index 53cd8382fe..ea43239ebb 100644 --- a/test/output/penguinSizeSymbols.html +++ b/test/output/penguinSizeSymbols.html @@ -39,6 +39,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinSpeciesCheysson.html b/test/output/penguinSpeciesCheysson.html index 02a66b4888..5a5b9a0457 100644 --- a/test/output/penguinSpeciesCheysson.html +++ b/test/output/penguinSpeciesCheysson.html @@ -39,6 +39,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinSpeciesGradient.svg b/test/output/penguinSpeciesGradient.svg index 8fd1fa7812..baa10ca09a 100644 --- a/test/output/penguinSpeciesGradient.svg +++ b/test/output/penguinSpeciesGradient.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinSpeciesGroup.svg b/test/output/penguinSpeciesGroup.svg index 52fa48f8c0..a3f54e80d4 100644 --- a/test/output/penguinSpeciesGroup.svg +++ b/test/output/penguinSpeciesGroup.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinSpeciesIsland.svg b/test/output/penguinSpeciesIsland.svg index 92ba6a289d..ccdfbd79f9 100644 --- a/test/output/penguinSpeciesIsland.svg +++ b/test/output/penguinSpeciesIsland.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinSpeciesIslandRelative.svg b/test/output/penguinSpeciesIslandRelative.svg index 1c3836bf2b..420ad07198 100644 --- a/test/output/penguinSpeciesIslandRelative.svg +++ b/test/output/penguinSpeciesIslandRelative.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinSpeciesIslandSex.svg b/test/output/penguinSpeciesIslandSex.svg index f9ec7067d3..f797cfdaee 100644 --- a/test/output/penguinSpeciesIslandSex.svg +++ b/test/output/penguinSpeciesIslandSex.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/penguinVoronoi1D.svg b/test/output/penguinVoronoi1D.svg index 2579dafbca..1da32daef1 100644 --- a/test/output/penguinVoronoi1D.svg +++ b/test/output/penguinVoronoi1D.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/polylinear.svg b/test/output/polylinear.svg index 88f14a7316..8a1e8da667 100644 --- a/test/output/polylinear.svg +++ b/test/output/polylinear.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/populationByLatitude.svg b/test/output/populationByLatitude.svg index 33292634ee..64ab399f6d 100644 --- a/test/output/populationByLatitude.svg +++ b/test/output/populationByLatitude.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/populationByLongitude.svg b/test/output/populationByLongitude.svg index c7ecc90e20..4a40e3ff53 100644 --- a/test/output/populationByLongitude.svg +++ b/test/output/populationByLongitude.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionBleedEdges.svg b/test/output/projectionBleedEdges.svg index 1957973535..674f5c09e5 100644 --- a/test/output/projectionBleedEdges.svg +++ b/test/output/projectionBleedEdges.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionBleedEdges2.svg b/test/output/projectionBleedEdges2.svg index b1af6ad33a..9acd254507 100644 --- a/test/output/projectionBleedEdges2.svg +++ b/test/output/projectionBleedEdges2.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionClipAngle.svg b/test/output/projectionClipAngle.svg index cba904e588..28ee6c01ce 100644 --- a/test/output/projectionClipAngle.svg +++ b/test/output/projectionClipAngle.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionClipAngleFrame.svg b/test/output/projectionClipAngleFrame.svg index ae55f56e1f..7ab0deca40 100644 --- a/test/output/projectionClipAngleFrame.svg +++ b/test/output/projectionClipAngleFrame.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionClipBerghaus.svg b/test/output/projectionClipBerghaus.svg index 156ab9e0e2..b35c5c0b58 100644 --- a/test/output/projectionClipBerghaus.svg +++ b/test/output/projectionClipBerghaus.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionFitAntarctica.svg b/test/output/projectionFitAntarctica.svg index 05f4e55318..2a005be874 100644 --- a/test/output/projectionFitAntarctica.svg +++ b/test/output/projectionFitAntarctica.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionFitBertin1953.svg b/test/output/projectionFitBertin1953.svg index 29200805f2..c148a776a3 100644 --- a/test/output/projectionFitBertin1953.svg +++ b/test/output/projectionFitBertin1953.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionFitConic.svg b/test/output/projectionFitConic.svg index dd7a439e1d..a95b2fa588 100644 --- a/test/output/projectionFitConic.svg +++ b/test/output/projectionFitConic.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionFitIdentity.svg b/test/output/projectionFitIdentity.svg index 2276c25157..ed539f1e63 100644 --- a/test/output/projectionFitIdentity.svg +++ b/test/output/projectionFitIdentity.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionFitUsAlbers.svg b/test/output/projectionFitUsAlbers.svg index 9f470e7e45..562eea5a29 100644 --- a/test/output/projectionFitUsAlbers.svg +++ b/test/output/projectionFitUsAlbers.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionHeightAlbers.svg b/test/output/projectionHeightAlbers.svg index 64af95d7bd..22d68b0321 100644 --- a/test/output/projectionHeightAlbers.svg +++ b/test/output/projectionHeightAlbers.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionHeightEqualEarth.svg b/test/output/projectionHeightEqualEarth.svg index 419a217896..62b3186719 100644 --- a/test/output/projectionHeightEqualEarth.svg +++ b/test/output/projectionHeightEqualEarth.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionHeightGeometry.svg b/test/output/projectionHeightGeometry.svg index 2080d79823..a91ecc53fc 100644 --- a/test/output/projectionHeightGeometry.svg +++ b/test/output/projectionHeightGeometry.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionHeightMercator.svg b/test/output/projectionHeightMercator.svg index b71ba12991..1c023adfb8 100644 --- a/test/output/projectionHeightMercator.svg +++ b/test/output/projectionHeightMercator.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/projectionHeightOrthographic.svg b/test/output/projectionHeightOrthographic.svg index 6609f0b076..6a740bf4ef 100644 --- a/test/output/projectionHeightOrthographic.svg +++ b/test/output/projectionHeightOrthographic.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/randomBins.svg b/test/output/randomBins.svg index ca56ffdabf..0de53368b4 100644 --- a/test/output/randomBins.svg +++ b/test/output/randomBins.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/randomBinsXY.svg b/test/output/randomBinsXY.svg index 10c441cf91..34995548a1 100644 --- a/test/output/randomBinsXY.svg +++ b/test/output/randomBinsXY.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/randomQuantile.svg b/test/output/randomQuantile.svg index b9622f0458..c18c026b11 100644 --- a/test/output/randomQuantile.svg +++ b/test/output/randomQuantile.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/randomWalk.svg b/test/output/randomWalk.svg index f091a6ec7e..cfd66f0ff5 100644 --- a/test/output/randomWalk.svg +++ b/test/output/randomWalk.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterCa55Barycentric.svg b/test/output/rasterCa55Barycentric.svg index 463c98d850..ff11707eb5 100644 --- a/test/output/rasterCa55Barycentric.svg +++ b/test/output/rasterCa55Barycentric.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterCa55Color.svg b/test/output/rasterCa55Color.svg index 18bfb75f5d..a4cf9c9ff9 100644 --- a/test/output/rasterCa55Color.svg +++ b/test/output/rasterCa55Color.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterCa55Nearest.svg b/test/output/rasterCa55Nearest.svg index fb18a9701a..1d8998e831 100644 --- a/test/output/rasterCa55Nearest.svg +++ b/test/output/rasterCa55Nearest.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterCa55None.svg b/test/output/rasterCa55None.svg index 51320f6056..d5bae82b90 100644 --- a/test/output/rasterCa55None.svg +++ b/test/output/rasterCa55None.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterCa55RandomWalk.svg b/test/output/rasterCa55RandomWalk.svg index 5942511620..9455f3e636 100644 --- a/test/output/rasterCa55RandomWalk.svg +++ b/test/output/rasterCa55RandomWalk.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterPenguinsBarycentric.svg b/test/output/rasterPenguinsBarycentric.svg index fb5f3197e5..fc998c2c20 100644 --- a/test/output/rasterPenguinsBarycentric.svg +++ b/test/output/rasterPenguinsBarycentric.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterPenguinsBlur.svg b/test/output/rasterPenguinsBlur.svg index 5058069f86..0526f34119 100644 --- a/test/output/rasterPenguinsBlur.svg +++ b/test/output/rasterPenguinsBlur.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterPenguinsRandomWalk.svg b/test/output/rasterPenguinsRandomWalk.svg index 9df56baa3b..ffd99fd9fd 100644 --- a/test/output/rasterPenguinsRandomWalk.svg +++ b/test/output/rasterPenguinsRandomWalk.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterVapor.svg b/test/output/rasterVapor.svg index cb533b5f1a..bb8aa8d386 100644 --- a/test/output/rasterVapor.svg +++ b/test/output/rasterVapor.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterVapor2.html b/test/output/rasterVapor2.html index 8fb782f84a..37eef799df 100644 --- a/test/output/rasterVapor2.html +++ b/test/output/rasterVapor2.html @@ -40,6 +40,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterVaporEqualEarth.svg b/test/output/rasterVaporEqualEarth.svg index aea5e5a28f..e6ecc1516d 100644 --- a/test/output/rasterVaporEqualEarth.svg +++ b/test/output/rasterVaporEqualEarth.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterVaporEqualEarthBarycentric.svg b/test/output/rasterVaporEqualEarthBarycentric.svg index 97351c8168..6b944e4701 100644 --- a/test/output/rasterVaporEqualEarthBarycentric.svg +++ b/test/output/rasterVaporEqualEarthBarycentric.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterVaporPeters.svg b/test/output/rasterVaporPeters.svg index 52be7731ce..2c29361098 100644 --- a/test/output/rasterVaporPeters.svg +++ b/test/output/rasterVaporPeters.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterWalmartBarycentric.svg b/test/output/rasterWalmartBarycentric.svg index e5d72b6d2a..a4252d0772 100644 --- a/test/output/rasterWalmartBarycentric.svg +++ b/test/output/rasterWalmartBarycentric.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterWalmartBarycentricOpacity.svg b/test/output/rasterWalmartBarycentricOpacity.svg index 02629ee3da..a8eaf1eecf 100644 --- a/test/output/rasterWalmartBarycentricOpacity.svg +++ b/test/output/rasterWalmartBarycentricOpacity.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterWalmartRandomWalk.svg b/test/output/rasterWalmartRandomWalk.svg index fe30752a30..e393c47ada 100644 --- a/test/output/rasterWalmartRandomWalk.svg +++ b/test/output/rasterWalmartRandomWalk.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rasterWalmartWalkOpacity.svg b/test/output/rasterWalmartWalkOpacity.svg index 5a340d22d3..c52af77ed6 100644 --- a/test/output/rasterWalmartWalkOpacity.svg +++ b/test/output/rasterWalmartWalkOpacity.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/rectBand.svg b/test/output/rectBand.svg index 9a06bab5db..02c0205096 100644 --- a/test/output/rectBand.svg +++ b/test/output/rectBand.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/reducerScaleOverrideFunction.svg b/test/output/reducerScaleOverrideFunction.svg index 56beac0a77..0ef5be9a2d 100644 --- a/test/output/reducerScaleOverrideFunction.svg +++ b/test/output/reducerScaleOverrideFunction.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/reducerScaleOverrideImplementation.svg b/test/output/reducerScaleOverrideImplementation.svg index 56beac0a77..0ef5be9a2d 100644 --- a/test/output/reducerScaleOverrideImplementation.svg +++ b/test/output/reducerScaleOverrideImplementation.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/reducerScaleOverrideName.svg b/test/output/reducerScaleOverrideName.svg index 56beac0a77..0ef5be9a2d 100644 --- a/test/output/reducerScaleOverrideName.svg +++ b/test/output/reducerScaleOverrideName.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/seattlePrecipitationDensity.svg b/test/output/seattlePrecipitationDensity.svg index 0f7b3616a0..77c88defb7 100644 --- a/test/output/seattlePrecipitationDensity.svg +++ b/test/output/seattlePrecipitationDensity.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/seattlePrecipitationRule.svg b/test/output/seattlePrecipitationRule.svg index c7a8341146..78da8a802c 100644 --- a/test/output/seattlePrecipitationRule.svg +++ b/test/output/seattlePrecipitationRule.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/seattlePrecipitationSum.svg b/test/output/seattlePrecipitationSum.svg index da4dfb089c..1738308809 100644 --- a/test/output/seattlePrecipitationSum.svg +++ b/test/output/seattlePrecipitationSum.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/seattleTemperatureAmplitude.html b/test/output/seattleTemperatureAmplitude.html index 9a11e575a6..267acd0cb7 100644 --- a/test/output/seattleTemperatureAmplitude.html +++ b/test/output/seattleTemperatureAmplitude.html @@ -48,6 +48,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/seattleTemperatureBand.svg b/test/output/seattleTemperatureBand.svg index 3570599b10..7f4737406d 100644 --- a/test/output/seattleTemperatureBand.svg +++ b/test/output/seattleTemperatureBand.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/seattleTemperatureCell.svg b/test/output/seattleTemperatureCell.svg index d0f7affe2c..adf232127d 100644 --- a/test/output/seattleTemperatureCell.svg +++ b/test/output/seattleTemperatureCell.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/sfCovidDeaths.svg b/test/output/sfCovidDeaths.svg index 54bb86183c..0573459867 100644 --- a/test/output/sfCovidDeaths.svg +++ b/test/output/sfCovidDeaths.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/sfTemperatureBand.svg b/test/output/sfTemperatureBand.svg index 5538505657..9f154fd2fc 100644 --- a/test/output/sfTemperatureBand.svg +++ b/test/output/sfTemperatureBand.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/sfTemperatureBandArea.svg b/test/output/sfTemperatureBandArea.svg index c109fd42ac..07005fbbb5 100644 --- a/test/output/sfTemperatureBandArea.svg +++ b/test/output/sfTemperatureBandArea.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandArea.svg b/test/output/shorthandArea.svg index ad3565ece5..54216349cc 100644 --- a/test/output/shorthandArea.svg +++ b/test/output/shorthandArea.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandAreaY.svg b/test/output/shorthandAreaY.svg index 7ae7324127..185e914fec 100644 --- a/test/output/shorthandAreaY.svg +++ b/test/output/shorthandAreaY.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandBarY.svg b/test/output/shorthandBarY.svg index 78963152ca..4e8a07376f 100644 --- a/test/output/shorthandBarY.svg +++ b/test/output/shorthandBarY.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandBinRectY.svg b/test/output/shorthandBinRectY.svg index 7939b9b7e0..13f883539a 100644 --- a/test/output/shorthandBinRectY.svg +++ b/test/output/shorthandBinRectY.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandBoxX.svg b/test/output/shorthandBoxX.svg index 1fb9925595..a5991f4034 100644 --- a/test/output/shorthandBoxX.svg +++ b/test/output/shorthandBoxX.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandCell.svg b/test/output/shorthandCell.svg index 5a3ac01698..a22d64d576 100644 --- a/test/output/shorthandCell.svg +++ b/test/output/shorthandCell.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandCellX.svg b/test/output/shorthandCellX.svg index 3a06ee8840..b26990df4f 100644 --- a/test/output/shorthandCellX.svg +++ b/test/output/shorthandCellX.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandDot.svg b/test/output/shorthandDot.svg index f9548f1faf..2027fe5590 100644 --- a/test/output/shorthandDot.svg +++ b/test/output/shorthandDot.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandDotX.svg b/test/output/shorthandDotX.svg index 0c82a0b018..be39d2a630 100644 --- a/test/output/shorthandDotX.svg +++ b/test/output/shorthandDotX.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandGroupBarY.svg b/test/output/shorthandGroupBarY.svg index bb70558f4a..544ff7e1fc 100644 --- a/test/output/shorthandGroupBarY.svg +++ b/test/output/shorthandGroupBarY.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandLine.svg b/test/output/shorthandLine.svg index ccfa5c0ed0..d54f58ff7f 100644 --- a/test/output/shorthandLine.svg +++ b/test/output/shorthandLine.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandLineY.svg b/test/output/shorthandLineY.svg index 7c4e85f2a9..ede65f6c01 100644 --- a/test/output/shorthandLineY.svg +++ b/test/output/shorthandLineY.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandRectY.svg b/test/output/shorthandRectY.svg index 1bef704fb1..3462e90b7c 100644 --- a/test/output/shorthandRectY.svg +++ b/test/output/shorthandRectY.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandRuleX.svg b/test/output/shorthandRuleX.svg index d56158ddab..297f78ce42 100644 --- a/test/output/shorthandRuleX.svg +++ b/test/output/shorthandRuleX.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandText.svg b/test/output/shorthandText.svg index 7e8b1a4bbe..08bc571b92 100644 --- a/test/output/shorthandText.svg +++ b/test/output/shorthandText.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandTextX.svg b/test/output/shorthandTextX.svg index a660a8a552..f03031f6d8 100644 --- a/test/output/shorthandTextX.svg +++ b/test/output/shorthandTextX.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandTickX.svg b/test/output/shorthandTickX.svg index 836cc71ab8..2ce185894c 100644 --- a/test/output/shorthandTickX.svg +++ b/test/output/shorthandTickX.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandVector.svg b/test/output/shorthandVector.svg index e96509c09e..1eb595231b 100644 --- a/test/output/shorthandVector.svg +++ b/test/output/shorthandVector.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/shorthandVectorX.svg b/test/output/shorthandVectorX.svg index fc049ce01b..0f44abed57 100644 --- a/test/output/shorthandVectorX.svg +++ b/test/output/shorthandVectorX.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/simpsonsRatings.svg b/test/output/simpsonsRatings.svg index 6c31142e2e..563fdbbd2c 100644 --- a/test/output/simpsonsRatings.svg +++ b/test/output/simpsonsRatings.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/simpsonsRatingsDots.svg b/test/output/simpsonsRatingsDots.svg index ec99d1dc14..7d66a5a55d 100644 --- a/test/output/simpsonsRatingsDots.svg +++ b/test/output/simpsonsRatingsDots.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/simpsonsViews.html b/test/output/simpsonsViews.html index 2a213076bc..9b54e0159c 100644 --- a/test/output/simpsonsViews.html +++ b/test/output/simpsonsViews.html @@ -52,6 +52,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/singleValueBar.svg b/test/output/singleValueBar.svg index 83f51c40c2..8f946f2352 100644 --- a/test/output/singleValueBar.svg +++ b/test/output/singleValueBar.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/singleValueBin.svg b/test/output/singleValueBin.svg index e17717ef90..8523b2c1c2 100644 --- a/test/output/singleValueBin.svg +++ b/test/output/singleValueBin.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/softwareVersions.svg b/test/output/softwareVersions.svg index adf56250b6..23ae2bf5c3 100644 --- a/test/output/softwareVersions.svg +++ b/test/output/softwareVersions.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/sparseCell.svg b/test/output/sparseCell.svg index 0248419c8e..4984761232 100644 --- a/test/output/sparseCell.svg +++ b/test/output/sparseCell.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/stackedBar.svg b/test/output/stackedBar.svg index ed6af12c55..13db5cce52 100644 --- a/test/output/stackedBar.svg +++ b/test/output/stackedBar.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/stackedRect.svg b/test/output/stackedRect.svg index 724ea2930a..33726adf8e 100644 --- a/test/output/stackedRect.svg +++ b/test/output/stackedRect.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/stargazers.svg b/test/output/stargazers.svg index d649ab397c..454595f9b6 100644 --- a/test/output/stargazers.svg +++ b/test/output/stargazers.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/stargazersBinned.svg b/test/output/stargazersBinned.svg index b85fbac89e..02c71b66f3 100644 --- a/test/output/stargazersBinned.svg +++ b/test/output/stargazersBinned.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/stargazersHourly.svg b/test/output/stargazersHourly.svg index fcf3e6e5c4..ff2cca67a4 100644 --- a/test/output/stargazersHourly.svg +++ b/test/output/stargazersHourly.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/stargazersHourlyGroup.svg b/test/output/stargazersHourlyGroup.svg index 04891e747f..3025d5e3ef 100644 --- a/test/output/stargazersHourlyGroup.svg +++ b/test/output/stargazersHourlyGroup.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/stocksIndex.svg b/test/output/stocksIndex.svg index 2d335d9f8d..bb39dbe5c5 100644 --- a/test/output/stocksIndex.svg +++ b/test/output/stocksIndex.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/textOverflow.svg b/test/output/textOverflow.svg index 5de634dc1b..2bd362d174 100644 --- a/test/output/textOverflow.svg +++ b/test/output/textOverflow.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/textOverflowClip.svg b/test/output/textOverflowClip.svg index 77940fb006..771e0e5f10 100644 --- a/test/output/textOverflowClip.svg +++ b/test/output/textOverflowClip.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/textOverflowEllipsis.svg b/test/output/textOverflowEllipsis.svg index 85698657b7..2050f7e0fb 100644 --- a/test/output/textOverflowEllipsis.svg +++ b/test/output/textOverflowEllipsis.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/textOverflowMonospace.svg b/test/output/textOverflowMonospace.svg index 2058f7b872..eadd75d935 100644 --- a/test/output/textOverflowMonospace.svg +++ b/test/output/textOverflowMonospace.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/textOverflowNone.svg b/test/output/textOverflowNone.svg index 17ad7512a3..979f5a7d4f 100644 --- a/test/output/textOverflowNone.svg +++ b/test/output/textOverflowNone.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/thisIsJustToSay.svg b/test/output/thisIsJustToSay.svg index 5de26ce175..eb071d46a9 100644 --- a/test/output/thisIsJustToSay.svg +++ b/test/output/thisIsJustToSay.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/tooltipDotColor.svg b/test/output/tooltipDotColor.svg index 8966ec205e..7ccb2f5e38 100644 --- a/test/output/tooltipDotColor.svg +++ b/test/output/tooltipDotColor.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, @@ -415,7 +416,7 @@ - + \ No newline at end of file diff --git a/test/output/tooltipDotFacets.svg b/test/output/tooltipDotFacets.svg index 6ab647fafd..63f2f77d54 100644 --- a/test/output/tooltipDotFacets.svg +++ b/test/output/tooltipDotFacets.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, @@ -11204,7 +11205,7 @@ - + \ No newline at end of file diff --git a/test/output/tooltipLineColor.svg b/test/output/tooltipLineColor.svg new file mode 100644 index 0000000000..ac3bcc46d0 --- /dev/null +++ b/test/output/tooltipLineColor.svg @@ -0,0 +1,1352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 60 + 70 + 80 + 90 + 100 + 110 + 120 + 130 + 140 + 150 + 160 + 170 + 180 + 190 + + + ↑ Close + + + + + + + + + + + + + + + + + 2014 + 2015 + 2016 + 2017 + 2018 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/output/trafficHorizon.html b/test/output/trafficHorizon.html index 76083f4fd4..ffb7284fc9 100644 --- a/test/output/trafficHorizon.html +++ b/test/output/trafficHorizon.html @@ -43,6 +43,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/travelersCovidDrop.svg b/test/output/travelersCovidDrop.svg index bb821a9386..827fcd120d 100644 --- a/test/output/travelersCovidDrop.svg +++ b/test/output/travelersCovidDrop.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/travelersYearOverYear.svg b/test/output/travelersYearOverYear.svg index df259a5e29..01000e2673 100644 --- a/test/output/travelersYearOverYear.svg +++ b/test/output/travelersYearOverYear.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/uniformRandomDifference.svg b/test/output/uniformRandomDifference.svg index 9f9b5d4f53..c539bb7986 100644 --- a/test/output/uniformRandomDifference.svg +++ b/test/output/uniformRandomDifference.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/untypedDateBin.svg b/test/output/untypedDateBin.svg index 5faafc89cc..c77d70ecdc 100644 --- a/test/output/untypedDateBin.svg +++ b/test/output/untypedDateBin.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usCongressAge.svg b/test/output/usCongressAge.svg index a2371776ea..33182c644f 100644 --- a/test/output/usCongressAge.svg +++ b/test/output/usCongressAge.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usCongressAgeColorExplicit.svg b/test/output/usCongressAgeColorExplicit.svg index cb55b4bda9..03bdceb4db 100644 --- a/test/output/usCongressAgeColorExplicit.svg +++ b/test/output/usCongressAgeColorExplicit.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usCongressAgeGender.svg b/test/output/usCongressAgeGender.svg index 1376e719eb..7190f8ab72 100644 --- a/test/output/usCongressAgeGender.svg +++ b/test/output/usCongressAgeGender.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usCongressAgeSymbolExplicit.svg b/test/output/usCongressAgeSymbolExplicit.svg index 5be29343a0..9e60c67c95 100644 --- a/test/output/usCongressAgeSymbolExplicit.svg +++ b/test/output/usCongressAgeSymbolExplicit.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usCountyChoropleth.html b/test/output/usCountyChoropleth.html index 61fe5ba2d3..d66ef42c50 100644 --- a/test/output/usCountyChoropleth.html +++ b/test/output/usCountyChoropleth.html @@ -67,6 +67,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usCountySpikes.svg b/test/output/usCountySpikes.svg index 601f87e3b7..77633b1f23 100644 --- a/test/output/usCountySpikes.svg +++ b/test/output/usCountySpikes.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usPopulationStateAge.svg b/test/output/usPopulationStateAge.svg index cdb2455f48..305589bfc5 100644 --- a/test/output/usPopulationStateAge.svg +++ b/test/output/usPopulationStateAge.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usPopulationStateAgeDots.svg b/test/output/usPopulationStateAgeDots.svg index 2525e76f90..ef44c3ea97 100644 --- a/test/output/usPopulationStateAgeDots.svg +++ b/test/output/usPopulationStateAgeDots.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usPopulationStateAgeGrouped.svg b/test/output/usPopulationStateAgeGrouped.svg index 80ecaf64bb..9310fa6283 100644 --- a/test/output/usPopulationStateAgeGrouped.svg +++ b/test/output/usPopulationStateAgeGrouped.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usPresidentFavorabilityDots.svg b/test/output/usPresidentFavorabilityDots.svg index 06ebaf334d..acee3e63c4 100644 --- a/test/output/usPresidentFavorabilityDots.svg +++ b/test/output/usPresidentFavorabilityDots.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usPresidentGallery.svg b/test/output/usPresidentGallery.svg index 5e62cd6f59..78fbdf25c3 100644 --- a/test/output/usPresidentGallery.svg +++ b/test/output/usPresidentGallery.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usPresidentGalleryAlt.svg b/test/output/usPresidentGalleryAlt.svg index 0f1c10c5ae..3d4841a98e 100644 --- a/test/output/usPresidentGalleryAlt.svg +++ b/test/output/usPresidentGalleryAlt.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usPresidentialElection2020.svg b/test/output/usPresidentialElection2020.svg index 55e4498892..28c3a80b62 100644 --- a/test/output/usPresidentialElection2020.svg +++ b/test/output/usPresidentialElection2020.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usPresidentialElectionMap2020.svg b/test/output/usPresidentialElectionMap2020.svg index e89e80909f..91c6c9f724 100644 --- a/test/output/usPresidentialElectionMap2020.svg +++ b/test/output/usPresidentialElectionMap2020.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usPresidentialForecast2016.svg b/test/output/usPresidentialForecast2016.svg index 8a5152197e..3ac9799dd9 100644 --- a/test/output/usPresidentialForecast2016.svg +++ b/test/output/usPresidentialForecast2016.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usRetailSales.svg b/test/output/usRetailSales.svg index cd35ad6208..3c162cdd7b 100644 --- a/test/output/usRetailSales.svg +++ b/test/output/usRetailSales.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usStateCapitals.svg b/test/output/usStateCapitals.svg index ab45896cbb..813db4fd53 100644 --- a/test/output/usStateCapitals.svg +++ b/test/output/usStateCapitals.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usStateCapitalsVoronoi.svg b/test/output/usStateCapitalsVoronoi.svg index 12cb75ac9e..ba0100780e 100644 --- a/test/output/usStateCapitalsVoronoi.svg +++ b/test/output/usStateCapitalsVoronoi.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/usStatePopulationChange.svg b/test/output/usStatePopulationChange.svg index 6e8d70587c..b349c537c9 100644 --- a/test/output/usStatePopulationChange.svg +++ b/test/output/usStatePopulationChange.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/vectorField.svg b/test/output/vectorField.svg index ed580e1a40..3ef8d1a624 100644 --- a/test/output/vectorField.svg +++ b/test/output/vectorField.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/vectorFrame.svg b/test/output/vectorFrame.svg index d8569825ac..631389e140 100644 --- a/test/output/vectorFrame.svg +++ b/test/output/vectorFrame.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/volcano.svg b/test/output/volcano.svg index efd682c486..cf9df042b6 100644 --- a/test/output/volcano.svg +++ b/test/output/volcano.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/volcanoContour.svg b/test/output/volcanoContour.svg index 111ae25bba..abfb383cf1 100644 --- a/test/output/volcanoContour.svg +++ b/test/output/volcanoContour.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/volcanoTerrain.svg b/test/output/volcanoTerrain.svg index 08569b17cb..d862ff6bef 100644 --- a/test/output/volcanoTerrain.svg +++ b/test/output/volcanoTerrain.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/walmarts.html b/test/output/walmarts.html index 98989c6e24..ed9d8ae993 100644 --- a/test/output/walmarts.html +++ b/test/output/walmarts.html @@ -41,6 +41,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/walmartsDecades.svg b/test/output/walmartsDecades.svg index d2183b4cca..f9a8135030 100644 --- a/test/output/walmartsDecades.svg +++ b/test/output/walmartsDecades.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/walmartsDensity.svg b/test/output/walmartsDensity.svg index 681f5cbaef..80398a6c27 100644 --- a/test/output/walmartsDensity.svg +++ b/test/output/walmartsDensity.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/walmartsDensityUnprojected.svg b/test/output/walmartsDensityUnprojected.svg index 0de93fa6ed..5a4351b485 100644 --- a/test/output/walmartsDensityUnprojected.svg +++ b/test/output/walmartsDensityUnprojected.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/wealthBritainBar.svg b/test/output/wealthBritainBar.svg index 3221eb8040..758257ab80 100644 --- a/test/output/wealthBritainBar.svg +++ b/test/output/wealthBritainBar.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/wealthBritainProportionPlot.svg b/test/output/wealthBritainProportionPlot.svg index 9a3f249de3..3e609e532d 100644 --- a/test/output/wealthBritainProportionPlot.svg +++ b/test/output/wealthBritainProportionPlot.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/wordCloud.svg b/test/output/wordCloud.svg index 5dae37b342..4030fc4104 100644 --- a/test/output/wordCloud.svg +++ b/test/output/wordCloud.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/wordLengthMobyDick.svg b/test/output/wordLengthMobyDick.svg index e421bbec04..6a65156bcb 100644 --- a/test/output/wordLengthMobyDick.svg +++ b/test/output/wordLengthMobyDick.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/yearlyRequests.svg b/test/output/yearlyRequests.svg index 5ed80fd36d..fc5ad6336c 100644 --- a/test/output/yearlyRequests.svg +++ b/test/output/yearlyRequests.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/yearlyRequestsDot.svg b/test/output/yearlyRequestsDot.svg index f1231b1f16..c00f2eff56 100644 --- a/test/output/yearlyRequestsDot.svg +++ b/test/output/yearlyRequestsDot.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/output/yearlyRequestsLine.svg b/test/output/yearlyRequestsLine.svg index 9804ba1259..d627be61e3 100644 --- a/test/output/yearlyRequestsLine.svg +++ b/test/output/yearlyRequestsLine.svg @@ -6,6 +6,7 @@ height: auto; height: intrinsic; max-width: 100%; + overflow: visible; } .plot text, diff --git a/test/plots/tooltip.ts b/test/plots/tooltip.ts index 2348451949..e51debcbf9 100644 --- a/test/plots/tooltip.ts +++ b/test/plots/tooltip.ts @@ -35,3 +35,14 @@ export async function tooltipDotFacets() { ] }); } + +export async function tooltipLineColor() { + const aapl = await d3.csv("data/aapl.csv", d3.autoType); + return Plot.plot({ + grid: true, + marks: [ + Plot.line(aapl, {x: "Date", y: "Close", stroke: "Volume", z: null}), + Plot.tooltip(aapl, {x: "Date", y: "Close", stroke: "Volume"}) + ] + }); +} From b183bdad1a1bdfa21efe2130652833379984d46a Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Tue, 2 May 2023 15:42:18 -0700 Subject: [PATCH 06/35] fix date label --- src/marks/axis.js | 2 ++ src/scales.js | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/marks/axis.js b/src/marks/axis.js index 22001686f6..b124724275 100644 --- a/src/marks/axis.js +++ b/src/marks/axis.js @@ -635,6 +635,8 @@ function inferScaleOrder(scale) { // inferred from an associated channel, adds an orientation-appropriate arrow. function inferAxisLabel(key, scale, labelAnchor) { const label = scale.label; + // Ignore the implicit label for temporal scales if it’s simply “date”. + if (label?.inferred && isTemporalScale(scale) && /^(date|time|year)$/i.test(label)) return; if (scale.bandwidth || !label?.inferred) return label; const order = inferScaleOrder(scale); return order diff --git a/src/scales.js b/src/scales.js index 1e0138380c..0e0de399fa 100644 --- a/src/scales.js +++ b/src/scales.js @@ -136,8 +136,6 @@ function inferScaleLabel(channels = [], scale) { else if (label !== l) return; } if (label === undefined) return; - // Ignore the implicit label for temporal scales if it’s simply “date”. - if (isTemporalScale(scale) && /^(date|time|year)$/i.test(label)) return; if (!isOrdinalScale(scale) && scale.percent) label = `${label} (%)`; return {inferred: true, toString: () => label}; } From 4b9fc1d3ab9ba07342d51a58eeca38f5edf076a5 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Tue, 2 May 2023 15:46:09 -0700 Subject: [PATCH 07/35] bold labels --- src/marks/tooltip.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index b79d4459ff..f8f7767de6 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -41,6 +41,8 @@ export class Tooltip extends Mark { const r = 8; // padding const dx = 0; // offsetLeft const dy = 12; // offsetTop + const foreground = "black"; + const background = "white"; const dot = select(svg) .on("pointermove", (event) => { let i, xi, yi, fxi, fyi; @@ -84,7 +86,7 @@ export class Tooltip extends Mark { .selectChildren() .data((d) => d) .join("tspan") - .attr("font-weight", (d, i) => (i ? "bold" : null)) + .attr("font-weight", (d, i) => (i ? null : "bold")) .text((d, i) => (i ? ` ${d}` : String(d))); const {width, height} = content.node().getBBox(); const w = width + r * 2; @@ -98,14 +100,15 @@ export class Tooltip extends Mark { .attr("display", "none"); const path = dot .append("path") - .attr("fill", "white") - .attr("stroke", "black") + .attr("fill", background) + .attr("stroke", foreground) .attr("filter", "drop-shadow(0 3px 4px rgba(0,0,0,0.2))") .on("pointerdown pointermove", (event) => event.stopPropagation()); const content = dot .append("text") .attr("transform", `translate(${dx + r},${dy + r})`) .attr("text-anchor", "start") + .attr("fill", foreground) .on("pointerdown pointermove", (event) => event.stopPropagation()); return null; } From 72b83e15f0f5b447bd5f891b039a4763be53ee22 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Tue, 2 May 2023 21:19:38 -0700 Subject: [PATCH 08/35] tooltip dodge test --- test/data/README.md | 4 + test/data/bfd.csv | 565 ++++++++++++++++++++++++++ test/output/tooltipDotColor.svg | 2 +- test/output/tooltipDotDodge.svg | 659 +++++++++++++++++++++++++++++++ test/output/tooltipDotFacets.svg | 2 +- test/output/tooltipLineColor.svg | 2 +- test/plots/tooltip.ts | 62 +++ 7 files changed, 1293 insertions(+), 3 deletions(-) create mode 100644 test/data/bfd.csv create mode 100644 test/output/tooltipDotDodge.svg diff --git a/test/data/README.md b/test/data/README.md index 2fa8480ed8..661703270d 100644 --- a/test/data/README.md +++ b/test/data/README.md @@ -22,6 +22,10 @@ http://search.r-project.org/R/library/lattice/html/barley.html ## beagle.csv https://observablehq.com/@bmschmidt/data-driven-projections-darwins-world +## bfd.csv +FDIC Bank failures in brief +https://www.fdic.gov/bank/historical/bank/bfb2023.html + ## bls-metro-unemployment.csv Bureau of Labor Statistics https://www.bls.gov/ diff --git a/test/data/bfd.csv b/test/data/bfd.csv new file mode 100644 index 0000000000..3aa724e84b --- /dev/null +++ b/test/data/bfd.csv @@ -0,0 +1,565 @@ +"Bank Name, City, State",Press Release (PR),Closing Date,Approx. Asset (Millions),Approx. Deposit (Millions),Acquirer & Transaction +"First Republic Bank, San Francisco, CA",PR-034-2023,1-May-23,"$229,100.00 ","$103,900.00 ","JPMorgan Chase Bank, National Association, to assume all of the deposits and substantially all of the assets of First Republic Bank." +"Signature Bank, New York, NY",PR-018-2023; PR-021-2023,12-Mar-23,"$110,400.00 ","$88,600.00 ","On Sunday, March 12, 2023, Signature Bank, New York, NY was closed by the New York State Department of Financial Services, which appointed the FDIC as Receiver. On Sunday, March 19, 2023, FDIC entered into a purchase and assumption agreement for substantially all deposits and certain loan portfolios with Flagstar Bank, NA, Hicksville, NY, a wholly owned subsidiary of New York Community Bancorp, Inc., Westbury, NY." +"Silicon Valley Bank, Santa Clara, CA","PR-019-2023, PR-023-2023",10-Mar-23,"$209,000.00 ","$175,400.00 ","To protect depositors, on Monday, March 13, 2023, the FDIC transferred all the deposits of Silicon Valley Bank to Silicon Valley Bridge Bank, N.A. a full-service 'bridge bank' that was operated by the FDIC as it marketed the institution to potential bidders. On March 26, 2023, the FDIC entered into a purchase and assumption agreement for all deposits and loans of Silicon Valley Bridge Bank, N.A., with First�Citizens Bank & Trust Company, Raleigh, NC. As part of this transaction Silicon Valley Bridge Bank, N.A, was placed into receivership." +"Almena State Bank, Almena, KS",PR-119-2020,23-Oct-20,$70.00 ,$68.70 ,Equity Bank has agreed to assume all deposits. +"First City Bank of Florida, Fort Walton Beach, FL",PR-112-2020,16-Oct-20,$134.70 ,$131.40 ,"United Fidelity Bank, fsb has agreed to assume all deposits." +"First State Bank, Barboursville, WV",PR-046-2020,3-Apr-20,$152.40 ,$139.50 , MVB Bank has agreed to assume all deposits excluding certain brokered deposits.retain the remaining assets for later disposition. +"Ericson State Bank, Ericson, NE",PR-011-2020,14-Feb-20,$100.90 ,$95.20 ,Farmers and Merchants Bank has agreed to assume all deposits. +"City National Bank of New Jersey, Newark, NJ",PR-101-2019,1-Nov-19,$120.60 ,$111.20 ,Industrial Bank has agreed to assume all deposits. +"Resolute Bank, Maumee, OH",PR-097-2019,25-Oct-19,$27.10 ,$26.20 ,Buckeye State Bank has agreed to assume all deposits. +"Louisa Community Bank, Louisa, KY",PR-096-2019,25-Oct-19,$29.70 ,$26.50 ,Kentucky Farmers Bank Corporation has agreed to assume all deposits. +"The Enloe State Bank, Cooper, TX",PR-046-2019,31-May-19,$36.70 ,$31.30 ,"Legend Bank, N.A. has agreed to assume the insured deposits." +"Washington Federal Bank for Savings, Chicago, IL",PR-096-2017,15-Dec-17,$166.30 ,$144.00 ,Royal Savings Bank has agreed to assume the non-brokered insured deposits. +"The Farmers and Merchants State Bank of Argonia, Argonia, KS",PR-080-2017,13-Oct-17,$34.20 ,$29.60 ,Conway Bank has agreed to assume all deposits. +"Fayette County Bank, Saint Elmo, IL",PR-041-2017,26-May-17,$34.40 ,$34.00 ,"United Fidelity Bank, fsb has agreed to assume all deposits." +"Guaranty Bank, Milwaukee, WI, (d/b/a BestBank in Georgia & Michigan)",PR-037-2017,5-May-17,"$1,000.00 ","$1,000.00 ",First-Citizens Bank & Trust Company has agreed to assume all deposits. +"First NBC Bank, New Orleans, LA",PR-034-2017,28-Apr-17,"$4,740.00 ","$3,540.00 ","Whitney Bank has agreed to assume the transactional deposits (approximately $1.6 billion), and to purchase approximately $1 billion of the failed bank's assets. The FDIC mailed checks for the time deposits (CDs and IRAs) and retained the remaining assets for later disposition." +"Proficio Bank, Cottonwood Heights, UT",PR-019-2017,3-Mar-17,$68.20 ,$65.00 ,Cache Valley Bank has agreed to assume all deposits. +"Seaway Bank and Trust Company, Chicago, IL",PR-009-2017,27-Jan-17,$361.20 ,$307.10 ,State Bank of Texas has agreed to assume all deposits. +"Harvest Community Bank, Pennsville, NJ",PR-004-2017,13-Jan-17,$126.40 ,$123.80 ,First-Citizens Bank & Trust Company has agreed to assume all deposits. +"Allied Bank, Mulberry, AR",PR-082-2016,23-Sep-16,$66.30 ,$64.70 ,Today's Bank has agreed to assume all deposits. +"The Woodbury Banking Company, Woodbury, GA",PR-069-2016,19-Aug-16,$21.40 ,$21.10 ,United Bank has agreed to assume all deposits. +"First CornerStone Bank, King of Prussia, PA",PR-038-2016,6-May-16,$103.30 ,$101.00 ,First-Citizens Bank & Trust Company has agreed to assume all deposits. +"Trust Company Bank, Memphis, TN",PR-034-2016,29-Apr-16,$20.70 ,$20.30 ,The Bank of Fayette County has agreed to assume all deposits. +"North Milwaukee State Bank, Milwaukee, WI",PR-020-2016,11-Mar-16,$67.10 ,$61.50 ,First-Citizens Bank & Trust Company has agreed to assume all deposits excluding certain brokered deposits. +"Hometown National Bank, Longview, WA",PR-078-2015,2-Oct-15,$4.90 ,$4.70 ,Twin City Bank has agreed to assume all deposits. +"The Bank of Georgia, Peachtree City, GA",PR-077-2015,2-Oct-15,$294.20 ,$280.70 ,Fidelity Bank has agreed to assume all deposits. +"Premier Bank, Denver, CO",PR-060-2015,10-Jul-15,$31.70 ,$29.60 ,"United Fidelity Bank, fsb has agreed to assume all deposits." +"Edgebrook Bank, Chicago, IL",PR-040-2015,8-May-15,$90.00 ,$90.00 ,Republic Bank of Chicago has agreed to assume all deposits. +"Doral Bank, San Juan, PR",PR-024-2015,27-Feb-15,"$5,900.00 ","$4,100.00 ","Banco Popular de Puerto Rico, Hato Rey, PR has agreed to accept all deposits. Banco Popular de Puerto Rico, entered into separate agreements to transfer deposits and assets in specific markets to Banco Popular North America, New York, NY, FirstBank Puerto Rico, Santurce, PR, and Centennial Bank, Conway, AR." +"Capitol City Bank & Trust Company, Atlanta, GA",PR-016-2015,13-Feb-15,$272.30 ,$262.70 ,First-Citizens Bank & Trust Company has agreed to assume all deposits. +"Highland Community Bank, Chicago, IL",PR-007-2015,23-Jan-15,$54.70 ,$53.50 ,"United Fidelity Bank, fsb has agreed to assume all deposits." +"First National Bank of Crestview, Crestview, FL",PR-006-2015,16-Jan-15,$79.70 ,$78.60 ,First NBC Bank has agreed to assume all deposits. +"Northern Star Bank, Mankato, MN",PR-112-2014,19-Dec-14,$18.80 ,$18.20 ,BankVista has agreed to assume all deposits. +"Frontier Bank, FSB, D/B/A El Paseo Bank, Palm Desert, CA",PR-097-2014,7-Nov-14,$86.40 ,$82.10 ,"Bank of Southern California, N.A. has agreed to assume all deposits." +"The National Republic Bank of Chicago, Chicago, IL",PR-089-2014,24-Oct-14,$954.40 ,$915.30 ,State Bank of Texas has agreed to assume all deposits excluding certain brokered deposits. +"NBRS Financial, Rising Sun, MD",PR-085-2014,17-Oct-14,$188.20 ,$183.10 ,Howard Bank has agreed to assume all deposits. +"GreenChoice Bank, fsb, Chicago, IL",PR-062-2014,25-Jul-14,$72.90 ,$71.00 ,"Providence Bank, LLC has agreed to assume all deposits." +"Eastside Commercial Bank, Conyers, GA",PR-058-2014,18-Jul-14,$169.00 ,$161.60 ,Community & Southern Bank has agreed to assume all deposits. +"The Freedom State Bank, Freedom, OK",PR-050-2014,27-Jun-14,$22.80 ,$20.90 ,Alva State Bank & Trust Company has agreed to assume all deposits. +"Valley Bank, Fort Lauderdale, FL",PR-048-2014,20-Jun-14,$81.80 ,$66.50 ,"Landmark Bank, National Association has agreed to assume all deposits." +"Valley Bank, Moline, IL",PR-047-2014,20-Jun-14,$456.40 ,$360.00 ,Great Southern Bank has agreed to assume all deposits. +"Slavie Federal Savings Bank, Bel Air, MD",PR-041-2014,30-May-14,$140.10 ,$111.10 ,"Bay Bank, FSB has agreed to assume all deposits." +"Columbia Savings Bank, Cincinnati, OH",PR-036-2014,23-May-14,$36.50 ,$29.50 ,"United Fidelity Bank, fsb has agreed to assume all deposits." +"AztecAmerica Bank, Berwyn, IL",PR-034-2014,16-May-14,$66.30 ,$65.00 ,Republic Bank of Chicago has agreed to assume all deposits. +"Allendale County Bank, Fairfax, SC",PR-31-2014,25-Apr-14,$54.50 ,$51.00 ,Palmetto State Bank has agreed to assume all deposits. +"Vantage Point Bank, Horsham, PA",PR-017-2014,28-Feb-14,$63.50 ,$62.50 ,First Choice Bank has agreed to assume all deposits. +"Millennium Bank, National Association, Sterling, VA",PR-016-2014,28-Feb-14,$130.30 ,$121.70 ,WashingtonFirst Bank has agreed to assume all deposits. +"Syringa Bank, Boise, ID",PR-007-2014,31-Jan-14,$153.40 ,$145.10 ,Sunwest Bank has agreed to assume all deposits excluding certain brokered deposits. +"The Bank of Union, El Reno, OK",PR-005-2014,24-Jan-14,$331.40 ,$328.80 ,BancFirst has agreed to assume all deposits excluding certain brokered deposits. +"DuPage National Bank, West Chicago, IL",PR-004-2014,17-Jan-14,$61.70 ,$59.60 ,Republic Bank of Chicago has agreed to assume all deposits. +"Texas Community Bank, National Association, The Woodlands, TX",PR-118-2013,13-Dec-13,$160.10 ,$142.60 ,"Spirit of Texas Bank, SSB has agreed to assume all deposits." +"Bank of Jackson County, Graceville, FL",PR-097-2013,30-Oct-13,$25.50 ,$25.00 ,First Federal Bank of Florida has agreed to assume all deposits. +"First National Bank, Edinburg, TX",PR-083-2013,13-Sep-13,"$3,100.00 ","$2,300.00 ",PlainsCapital Bank has agreed to assume all deposits. +"The Community's Bank, Bridgeport, CT",PR-082-2013,13-Sep-13,$26.30 ,$25.70 ,The FDIC has approved the payout of the insured deposits of The Community's Bank. +"Sunrise Bank of Arizona, Phoenix, AZ",PR-073-2013,23-Aug-13,$202.20 ,$196.90 ,"First Fidelity Bank, National Association has agreed to assume all deposits." +"Community South Bank, Parsons, TN",PR-072-2013,23-Aug-13,$386.90 ,$377.70 ,"CB&S Bank, Inc. has agreed to assume all deposits and $121.7 million of the assets." +"Bank of Wausau, Wausau, WI",PR-071-2013,9-Aug-13,$43.60 ,$40.70 ,Nicolet National Bank has agreed to assume all deposits. +"First Community Bank of Southwest Florida, Fort Myers, FL, also operating as Community Bank of Cape Coral, Cape Coral, FL",PR-069-2013,2-Aug-13,$265.70 ,$254.20 ,C1 Bank has agreed to assume all deposits. +"Mountain National Bank, Sevierville, TN",PR-050-2013,7-Jun-13,$437.30 ,$373.40 ,"First Tennessee Bank, National Association has agreed to assume all deposits excluding certain brokered deposits." +"1st Commerce Bank, North Las Vegas, NV",PR-049-2013,6-Jun-13,$20.20 ,$19.60 ,Plaza Bank has agreed to assume all deposits. +"Banks of Wisconsin, which did business as Bank of Kenosha, Kenosha, WI",PR-046-2013,31-May-13,$134.00 ,$127.60 ,"North Shore Bank, FSB has agreed to assume all deposits excluding certain brokered deposits." +"Central Arizona Bank, Scottsdale, AZ",PR-040-2013,14-May-13,$31.60 ,$30.80 ,Western State Bank has agreed to assume all deposits. +"Sunrise Bank, Valdosta, GA",PR-038-2013,10-May-13,$60.80 ,$57.80 ,Synovus Bank has agreed to assume all deposits. +"Pisgah Community Bank, Asheville, NC",PR-037-2013,10-May-13,$21.90 ,$21.20 ,"Capital Bank, N.A. has agreed to assume all deposits." +"Douglas County Bank, Douglasville, GA",PR-034-2013,26-Apr-13,$316.50 ,$314.30 ,Hamilton State Bank has agreed to assume all deposits. +"Parkway Bank, Lenoir, NC",PR-033-2013,26-Apr-13,$108.60 ,$103.70 ,"CertusBank, National Association has agreed to assume all deposits." +"Chipola Community Bank, Marianna, FL",PR-030-2013,19-Apr-13,$39.20 ,$37.60 ,First Federal Bank of Florida has agreed to assume all deposits. +"Heritage Bank of North Florida, Orange Park, FL",PR-029-2013,19-Apr-13,$110.90 ,$108.50 ,FirstAtlantic Bank has agreed to assume all deposits. +"First Federal Bank, Lexington, KY",PR-028-2013,19-Apr-13,$100.10 ,$93.90 ,Your Community Bank has agreed to assume all deposits. +"Gold Canyon Bank, Gold Canyon, AZ",PR-026-2013,5-Apr-13,$45.20 ,$44.20 ,"First Scottsdale Bank, National Association, has agreed to assume all deposits." +"Frontier Bank, LaGrange, GA",PR-018-2013,8-Mar-13,$258.80 ,$224.10 ,HeritageBank of the South has agreed to assume all deposits. +"Covenant Bank, Chicago, IL",PR-010-2013,15-Feb-13,$58.40 ,$54.20 ,Liberty Bank and Trust Company has agreed to assume all deposits excluding certain brokered deposits. +"1st Regents Bank, Andover, MN",PR-005-2013,18-Jan-13,$50.20 ,$49.10 ,First Minnesota Bank has agreed to assume all deposits. +"Westside Community Bank, University Place, WA",PR-002-2013,11-Jan-13,$97.70 ,$96.50 ,Sunwest Bank has agreed to assume all deposits. +"Community Bank of the Ozarks, Sunrise Beach, MO",PR-146-2012,14-Dec-12,$42.80 ,$41.90 ,Bank of Sullivan has agreed to assume all deposits. +"Hometown Community Bank, Braselton, GA",PR-134-2012,16-Nov-12,$124.60 ,$108.90 ,"CertusBank, National Association has agreed to assume all deposits." +"Citizens First National Bank, Princeton, IL",PR-128-2012,2-Nov-12,$924.00 ,$869.40 ,Heartland Bank and Trust Company has agreed to assume all deposits. +"Heritage Bank of Florida, Lutz, FL",PR-127-2012,2-Nov-12,$225.50 ,$223.30 ,Centennial Bank has agreed to assume all deposits. +"NOVA Bank, Berwyn, PA",PR-123-2012,26-Oct-12,$483.00 ,$432.20 ,The FDIC has approved the payout of the insured deposits of NOVA Bank. +"Excel Bank, Sedalia, MO",PR-120-2012,19-Oct-12,$200.60 ,$187.40 ,Simmons First National Bank has agreed to assume all deposits. +"First East Side Savings Bank, Tamarac, FL",PR-119-2012,19-Oct-12,$67.20 ,$65.90 ,"Stearns Bank National Association, has agreed to assume all deposits." +"GulfSouth Private Bank, Destin, FL",PR-118-2012,19-Oct-12,$159.10 ,$151.10 ,SmartBank has agreed to assume all deposits. +"First United Bank, Crete, IL",PR-113-2012,28-Sep-12,$328.40 ,$316.90 ,"Old Plank Trail Community Bank, National Association has agreed to assume all deposits." +"Truman Bank, Saint Louis, MO",PR-106-2012,14-Sep-12,$282.30 ,$245.70 ,Simmons First National Bank has agreed to assume all deposits excluding certain brokered deposits. +"First Commercial Bank, Bloomington, MN",PR-104-2012,7-Sep-12,$215.90 ,$206.80 ,Republic Bank & Trust Company has agreed to assume all deposits. +"Waukegan Savings Bank, Waukegan, IL",PR-090-2012,3-Aug-12,$88.90 ,$77.50 ,First Midwest Bank has agreed to assume all deposits. +"Jasper Banking Company, Jasper, GA",PR-089-2012,27-Jul-12,$216.70 ,$213.10 ,"Stearns Bank National Association, has agreed to assume all deposits excluding certain brokered deposits." +"Second Federal Savings and Loan Association of Chicago, Chicago, IL",PR-086-2012,20-Jul-12,$199.10 ,$175.90 ,Hinsdale Bank & Trust Company has agreed to assume all deposits. +"Heartland Bank, Leawood, KS",PR-085-2012,20-Jul-12,$110.00 ,$102.60 ,Metcalf Bank has agreed to assume all deposits. +"First Cherokee State Bank, Woodstock, GA",PR-084-2012,20-Jul-12,$222.70 ,$193.30 ,Community & Southern Bank has agreed to assume all deposits. +"Georgia Trust Bank, Buford, GA",PR-083-2012,20-Jul-12,$119.80 ,$117.40 ,Community & Southern Bank has agreed to assume all deposits excluding certain brokered deposits. +"The Royal Palm Bank of Florida, Naples, FL",PR-082-2012,20-Jul-12,$87.00 ,$85.10 ,First National Bank of the Gulf Coast has agreed to assume all deposits. +"Glasgow Savings Bank, Glasgow, MO",PR-081-2012,13-Jul-12,$24.80 ,$24.20 ,Regional Missouri Bank has agreed to assume all deposits. +"Montgomery Bank & Trust, Ailey, GA",PR-080-2012,6-Jul-12,$173.60 ,$164.40 ,Ameris Bank has agreed to assume all deposits excluding certain brokered deposits. +"The Farmers Bank of Lynchburg, Lynchburg, TN",PR-71-2012,15-Jun-12,$163.90 ,$156.40 ,Clayton Bank and Trust has agreed to assume all deposits. +"Security Exchange Bank, Marietta, GA",PR-070-2012,15-Jun-12,$151.00 ,$147.90 ,Fidelity Bank has agreed to assume all deposits. +"Putnam State Bank, Palatka, FL",PR-069-2012,15-Jun-12,$169.50 ,$160.00 ,Harbor Community Bank has agreed to assume all deposits. +"Waccamaw Bank, Whiteville, NC",PR-067-2012,8-Jun-12,$533.10 ,$472.70 ,First Community Bank has agreed to assume all deposits excluding certain brokered deposits. +"Farmers and Traders State Bank, Shabbona, IL",PR-066-2012,8-Jun-12,$43.10 ,$42.30 ,First State Bank has agreed to assume all deposits. +"Carolina Federal Savings Bank, Charleston, SC",PR-065-2012,8-Jun-12,$54.40 ,$53.10 ,Bank of North Carolina has agreed to assume all deposits. +"First Capital Bank, Kingfisher, OK",PR-064-2012,8-Jun-12,$46.10 ,$44.80 ,F & M Bank has agreed to assume all deposits. +"Alabama Trust Bank, National Association, Sylacauga, AL",PR-057-2012,18-May-12,$51.60 ,$45.10 ,Southern States Bank has agreed to assume all deposits excluding certain brokered deposits. +"Security Bank, National Association, North Lauderdale, FL",PR-052-2012,4-May-12,$101.00 ,$99.10 ,Banesco USA has agreed to assume all deposits. +"Palm Desert National Bank, Palm Desert, CA",PR-050-2012,27-Apr-12,$125.80 ,$122.80 ,Pacific Premier Bank has agreed to assume all deposits excluding certain brokered deposits. +"Plantation Federal Bank, Pawleys Island, SC",PR-049-2012,27-Apr-12,$486.40 ,$440.50 ,First Federal Bank has agreed to assume all deposits. +"Inter Savings Bank, fsb D/B/A InterBank, fsb, Maple Grove, MN",PR-048-2012,27-Apr-12,$481.60 ,$473.00 ,Great Southern Bank has agreed to assume all deposits. +"HarVest Bank of Maryland, Gaithersburg, MD",PR-047-2012,27-Apr-12,$164.30 ,$145.50 ,Sonabank has agreed to assume all deposits. +"Bank of the Eastern Shore, Cambridge, MD",PR-046-2012,27-Apr-12,$166.70 ,$154.50 ,"To protect the insured depositors, the FDIC created the Deposit Insurance National Bank (DINB) of Eastern Shore, Cambridge, MD which will remain open until May 25, 2012." +"Fort Lee Federal Savings Bank, FSB, Fort Lee, NJ",PR-043-2012,20-Apr-12,$51.90 ,$50.70 ,Alma Bank has agreed to assume all deposits. +"Fidelity Bank, Dearborn, MI",PR-038-2012,30-Mar-12,$818.20 ,$747.60 ,The Huntington National Bank has agreed to assume all deposits. +"Premier Bank, Wilmette, IL",PR-033-2012,23-Mar-12,$268.70 ,$199.00 ,International Bank of Chicago has agreed to assume all deposits. +"Covenant Bank & Trust, Rock Spring, GA",PR-032-2012,23-Mar-12,$95.70 ,$90.60 ,"Stearns Bank National Association, has agreed to assume all deposits." +"New City Bank, Chicago, IL",PR-029-2012,9-Mar-12,$71.20 ,$72.40 ,The FDIC has approved the payout of the insured deposits of New City Bank. +"Global Commerce Bank, Doraville, GA",PR-025-2012,2-Mar-12,$143.70 ,$116.80 ,Metro City Bank has agreed to assume all deposits. +"Home Savings of America, Little Falls, MN",PR-022-2012,24-Feb-12,$434.10 ,$432.20 ,The FDIC has approved the payout of the insured deposits of Home Savings of America. +"Central Bank of Georgia, Ellaville, GA",PR-021-2012,24-Feb-12,$278.90 ,$266.60 ,Ameris Bank has agreed to assume all deposits. +"SCB Bank, Shelbyville, IN",PR-018-2012,10-Feb-12,$182.60 ,$171.60 ,"First Merchants Bank, National Association has agreed to assume all deposits excluding certain brokered deposits." +"Charter National Bank and Trust, Hoffman Estates, IL",PR-017-2012,10-Feb-12,$93.90 ,$89.50 ,"Barrington Bank & Trust Company, National Association has agreed to assume all deposits." +"BankEast, Knoxville, TN",PR-013-2012,27-Jan-12,$272.60 ,$268.80 ,"U.S. Bank National Association, has agreed to assume all deposits." +"Patriot Bank Minnesota, Forest Lake, MN",PR-012-2012,27-Jan-12,$111.30 ,$108.30 ,First Resource Bank has agreed to assume all deposits. +"Tennessee Commerce Bank, Franklin, TN",PR-011-2012,27-Jan-12,"$1,185.00 ","$1,156.00 ",Republic Bank & Trust Company has agreed to assume all deposits excluding certain brokered deposits. +"First Guaranty Bank and Trust Company of Jacksonville, Jacksonville, FL",PR-010-2012,27-Jan-12,$377.90 ,$349.50 ,"CenterState Bank of Florida, National Association has agreed to assume all deposits excluding certain brokered deposits." +"American Eagle Savings Bank, Boothwyn, PA",PR-007-2012,20-Jan-12,$19.60 ,$17.70 ,"Capital Bank, National Association, has agreed to assume all deposits excluding certain brokered deposits." +"The First State Bank, Stockbridge, GA",PR-006-2012,20-Jan-12,$536.90 ,$527.50 ,Hamilton State Bank has agreed to assume all deposits excluding certain brokered deposits. +"Central Florida State Bank, Belleview, FL",PR-005-2012,20-Jan-12,$79.10 ,$77.70 ,"CenterState Bank of Florida, National Association, has agreed to assume all deposits excluding certain brokered deposits." +"Western National Bank, Phoenix, AZ",PR-195-2011,16-Dec-11,$162.90 ,$144.50 ,"Washington Federal, Seattle, WA has agreed to assume all deposits excluding certain brokered deposits." +"Premier Community Bank of the Emerald Coast, Crestview, FL",PR-194-2011,16-Dec-11,$126.00 ,$112.10 ,"Summit Bank, National Association, Panama City, FL has agreed to assume all deposits." +"Central Progressive Bank, Lacombe, LA",PR-181-2011,18-Nov-11,$383.10 ,$347.70 ,"First NBC Bank, New Orleans, LA has agreed to assume all deposits." +"Polk County Bank, Johnston, IA",PR-180-2011,18-Nov-11,$91.60 ,$82.00 ,"Grinnell State Bank, Grinnell, IA has agreed to assume all deposits." +"Community Bank of Rockmart, Rockmart, GA",PR-178-2011,10-Nov-11,$62.40 ,$55.90 ,"Century Bank of Georgia, Cartersville, GA has agreed to assume all deposits excluding certain brokered deposits." +"SunFirst Bank, Saint George, UT",PR-177-2011,4-Nov-11,$198.10 ,$169.10 ,"Cache Valley Bank, Logan, UT has agreed to assume all deposits excluding certain brokered deposits." +"Mid City Bank, Inc., Omaha, NE",PR-176-2011,4-Nov-11,$106.10 ,$105.50 ,"Premier Bank (formerly Purdum State Bank), Purdum, NE has agreed to assume all deposits." +"All American Bank, Des Plaines, IL",PR-174-2011,28-Oct-11,$37.80 ,$33.40 ,"International Bank of Chicago, Chicago, IL has agreed to assume all deposits." +"Community Banks of Colorado, Greenwood Village, CO",PR-172-2011,21-Oct-11,"$1,380.00 ","$1,330.00 ","Bank Midwest, National Association, Kansas City, MO has agreed to assume all deposits excluding certain brokered deposits." +"Community Capital Bank, Jonesboro, GA",PR-171-2011,21-Oct-11,$181.20 ,$166.20 ,"State Bank and Trust Company, Macon, GA has agreed to assume all deposits." +"Decatur First Bank, Decatur, GA",PR-170-2011,21-Oct-11,$191.50 ,$179.20 ,"Fidelity Bank, Atlanta, GA has agreed to assume all deposits." +"Old Harbor Bank, Clearwater, FL",PR-169-2011,21-Oct-11,$215.90 ,$217.80 ,"1st United Bank, Boca Raton, FL has agreed to assume all deposits." +"Country Bank, Aledo, IL",PR-167-2011,14-Oct-11,$190.60 ,$167.50 ,"Blackhawk Bank & Trust, Milan, IL has agreed to assume all deposits excluding certain brokered deposits." +"First State Bank, Cranford, NJ",PR-166-2011,14-Oct-11,$204.40 ,$201.20 ,"Northfield Bank, Staten Island, NY has agreed to assume all deposits." +"Blue Ridge Savings Bank, Inc., Asheville, NC",PR-165-2011,14-Oct-11,$161.00 ,$158.70 ,"Bank of North Carolina, Thomasville, NC has agreed to assume all deposits." +"Piedmont Community Bank, Gray, GA",PR-164-2011,14-Oct-11,$201.70 ,$181.40 ,"State Bank and Trust Company, Macon, GA has agreed to assume all deposits." +"Sun Security Bank, Ellington, MO",PR-159-2011,7-Oct-11,$355.90 ,$290.40 ,"Great Southern Bank, Springfield, MO has agreed to assume all deposits." +"The RiverBank, Wyoming, MN",PR-158-2011,7-Oct-11,$417.40 ,$379.30 ,"Central Bank, Stillwater, MN has agreed to assume all deposits." +"First International Bank, Plano, TX",PR-156-2011,30-Sep-11,$239.90 ,$208.80 ,"American First National Bank, Houston, TX has agreed to assume all deposits." +"Citizens Bank of Northern California, Nevada City, CA",PR-154-2011,23-Sep-11,$288.80 ,$253.10 ,"Tri Counties Bank, Chico, CA has agreed to assume all deposits." +"Bank of the Commonwealth, Norfolk, VA",PR-153-2011,23-Sep-11,$985.10 ,$901.80 ,"Southern Bank and Trust Company, Mount Olive, NC has agreed to assume all deposits excluding certain brokered deposits." +"The First National Bank Of Florida, Milton, FL",PR-149-2011,9-Sep-11,$296.80 ,$280.10 ,"CharterBank, West Point, GA has agreed to assume all deposits." +"CreekSide Bank, Woodstock, GA",PR-146-2011,2-Sep-11,$102.30 ,$96.60 ,"Georgia Commerce Bank, Atlanta, GA has agreed to assume all deposits." +"Patriot Bank of Georgia, Cumming, GA",PR-146-2011,2-Sep-11,$150.80 ,$111.20 ,"Georgia Commerce Bank, Atlanta, GA has agreed to assume all deposits." +"First Choice Bank, Geneva, IL",PR-139-2011,19-Aug-11,$141.00 ,$137.20 ,"Inland Bank & Trust, Oak Brook, IL has agreed to assume all deposits excluding certain brokered deposits." +"First Southern National Bank, Statesboro, GA",PR-138-2011,19-Aug-11,$164.60 ,$159.70 ,"Heritage Bank of the South, Albany, GA has agreed to assume all deposits excluding certain brokered deposits." +"Lydian Private Bank, Palm Beach, FL",PR-137-2011,19-Aug-11,"$1,700.00 ","$1,240.00 ","Sabadell United Bank, National Association, Miami, FL has agreed to assume all deposits." +"Public Savings Bank, Huntingdon Valley, PA",PR-136-2011,18-Aug-11,$46.80 ,$45.80 ,"Capital Bank, National Association, Rockville, MD has agreed to assume all deposits excluding certain brokered deposits." +"The First National Bank of Olathe, Olathe, KS",PR-134-2011,12-Aug-11,$538.10 ,$524.30 ,"Enterprise Bank & Trust, Clayton, MO has agreed to assume all deposits excluding certain brokered deposits." +"Bank of Whitman, Colfax, WA",PR-132-2011,5-Aug-11,$548.60 ,$515.70 ,"Columbia State Bank, Tacoma, WA has agreed to assume all deposits excluding certain brokered deposits." +"Bank of Shorewood, Shorewood, IL",PR-131-2011,5-Aug-11,$110.70 ,$104.00 ,"Heartland Bank and Trust Company, Bloomington, IL has agreed to assume all deposits." +"Integra Bank National Association, Evansville, IN",PR-128-2011,29-Jul-11,"$2,200.00 ","$1,900.00 ","Old National Bank, Evansville, IN has agreed to assume all deposits excluding certain brokered deposits." +"BankMeridian, National Association, Columbia, SC",PR-127-2011,29-Jul-11,$239.80 ,$215.50 ,"SCBT, National Association, Orangeburg, SC has agreed to assume all deposits excluding certain brokered deposits." +"Virginia Business Bank, Richmond, VA",PR-126-2011,29-Jul-11,$95.80 ,$85.00 ,"Xenith Bank, Richmond, VA has agreed to assume all deposits." +"Bank of Choice, Greeley, CO",PR-124-2011,22-Jul-11,"$1,070.00 ",$924.90 ,"Bank Midwest, National Association, Kansas City, MO has agreed to assume all deposits excluding certain brokered deposits." +"LandMark Bank of Florida, Sarasota, FL",PR-123-2011,22-Jul-11,$275.00 ,$246.70 ,"American Momentum Bank, Tampa, FL has agreed to assume all deposits." +"Southshore Community Bank, Apollo Beach, FL",PR-123-2011,22-Jul-11,$46.30 ,$45.30 ,"American Momentum Bank, Tampa, FL has agreed to assume all deposits." +"Summit Bank, Prescott, AZ",PR-122-2011,15-Jul-11,$72.00 ,$66.40 ,"The Foothills Bank, Yuma, AZ has agreed to assume all deposits." +"First Peoples Bank, Port St. Lucie, FL",PR-121-2011,15-Jul-11,$228.30 ,$209.70 ,"Premier American Bank, National Association, Miami, FL has agreed to assume all deposits excluding certain brokered deposits." +"High Trust Bank, Stockbridge, GA",PR-120-2011,15-Jul-11,$192.50 ,$189.50 ,"Ameris Bank, Moultrie, GA has agreed to assume all deposits." +"One Georgia Bank, Atlanta, GA",PR-120-2011,15-Jul-11,$186.30 ,$162.10 ,"Ameris Bank, Moultrie, GA has agreed to assume all deposits excluding certain brokered deposits." +"Signature Bank, Windsor, CO",PR-119-2011,8-Jul-11,$66.70 ,$64.50 ,"Points West Community Bank, Julesburg, CO has agreed to assume all deposits." +"Colorado Capital Bank, Castle Rock, CO",PR-118-2011,8-Jul-11,$717.50 ,$672.80 ,"First-Citizens Bank & Trust Company, Raleigh, NC has agreed to assume all deposits excluding certain brokered deposits." +"First Chicago Bank & Trust, Chicago, IL",PR-117-2011,8-Jul-11,$959.30 ,$887.50 ,"Northbrook Bank & Trust Company, Northbrook, IL has agreed to assume all deposits excluding certain brokered deposits." +"Mountain Heritage Bank, Clayton, GA",PR-110-2011,24-Jun-11,$103.70 ,$89.60 ,"First American Bank and Trust Company, Athens, GA has agreed to assume all deposits excluding certain brokered deposits." +"First Commercial Bank of Tampa Bay, Tampa, FL",PR-105-2011,17-Jun-11,$98.60 ,$92.60 ,"Stonegate Bank, Fort Lauderdale, FL has agreed to assume all deposits excluding certain brokered deposits." +"McIntosh State Bank, Jackson, GA",PR-104-2011,17-Jun-11,$339.90 ,$324.40 ,"Hamilton State Bank, Hoschton, GA has agreed to assume all deposits." +"Atlantic Bank and Trust, Charleston, SC",PR-100-2011,3-Jun-11,$208.20 ,$191.60 ,"First Citizens Bank and Trust Company, Inc., Columbia, SC has agreed to assume all deposits." +"First Heritage Bank, Snohomish, WA",PR-094-2011,27-May-11,$173.50 ,$163.30 ,"Columbia State Bank, Tacoma, WA has agreed to assume all deposits." +"Summit Bank, Burlington, WA",PR-090-2011,20-May-11,$142.70 ,$131.60 ,"Columbia State Bank, Tacoma, WA has agreed to assume all deposits excluding certain brokered deposits." +"First Georgia Banking Company, Franklin, GA",PR-089-2011,20-May-11,$731.00 ,$702.20 ,"CertusBank, National Association, Easley, SC has agreed to assume all deposits excluding certain brokered deposits." +"Atlantic Southern Bank, Macon, GA",PR-089-2011,20-May-11,$741.90 ,$707.60 ,"CertusBank, National Association, Easley, SC has agreed to assume all deposits excluding certain brokered deposits." +"Coastal Bank, Cocoa Beach, FL",PR-084-2011,6-May-11,$129.40 ,$123.90 ,"Florida Community Bank, a division of Premier American Bank, National Association, Miami, FL has agreed to assume all deposits." +"Community Central Bank, Mount Clemens, MI",PR-080-2011,29-Apr-11,$476.30 ,$385.40 ,"Talmer Bank & Trust, Troy, MI has agreed to assume all deposits excluding certain brokered deposits." +"The Park Avenue Bank, Valdosta, GA",PR-079-2011,29-Apr-11,$953.30 ,$827.70 ,"Bank of the Ozarks, Little Rock, AR has agreed to assume all deposits excluding certain brokered deposits." +"First Choice Community Bank, Dallas, GA",PR-079-2011,29-Apr-11,$308.50 ,$310.00 ,"Bank of the Ozarks, Little Rock, AR has agreed to assume all deposits excluding certain brokered deposits." +"Cortez Community Bank, Brooksville, FL",PR-078-2011,29-Apr-11,$70.90 ,$61.40 ,"Florida Community Bank, a division of Premier American Bank, National Association, Miami, FL has agreed to assume all deposits excluding certain brokered deposits." +"First National Bank of Central Florida, Winter Park, FL",PR-078-2011,29-Apr-11,$352.00 ,$312.10 ,"Florida Community Bank, a division of Premier American Bank, National Association, Miami, FL has agreed to assume all deposits excluding certain brokered deposits." +"Heritage Banking Group, Carthage, MS",PR-075-2011,15-Apr-11,$224.00 ,$196.20 ,"Trustmark National Bank, Jackson, MS has agreed to assume all deposits." +"Rosemount National Bank, Rosemount, MN",PR-074-2011,15-Apr-11,$37.60 ,$36.60 ,"Central Bank, Stillwater, MN has agreed to assume all deposits." +"Superior Bank, Birmingham, AL",PR-073-2011,15-Apr-11,"$3,000.00 ","$2,700.00 ","Superior Bank, National Association, Birmingham, AL has agreed to assume all deposits excluding certain brokered deposits." +"Nexity Bank, Birmingham, AL",PR-072-2011,15-Apr-11,$793.70 ,$637.80 ,"All-star Bank of Commerce, Birmingham, AL has agreed to assume all deposits excluding certain brokered deposits." +"New Horizons Bank, East Ellijay, GA",PR-071-2011,15-Apr-11,$110.70 ,$106.10 ,"Citizens South Bank, Gastonia, NC has agreed to assume all deposits excluding certain brokered deposits." +"Bartow County Bank, Cartersville, GA",PR-070-2011,15-Apr-11,$330.20 ,$304.10 ,"Hamilton State Bank, Hoschton, GA has agreed to assume all deposits." +"Nevada Commerce Bank, Las Vegas, NV",PR-065-2011,8-Apr-11,$144.90 ,$136.40 ,"City National Bank, Los Angeles, CA has agreed to assume all deposits excluding certain brokered deposits." +"Western Springs National Bank and Trust, Western Springs, IL",PR-064-2011,8-Apr-11,$186.80 ,$181.90 ,"Heartland Bank and Trust Company, Bloomington, IL has agreed to assume all deposits." +"The Bank of Commerce, Wood Dale, IL",PR-058-2011,25-Mar-11,$163.10 ,$161.40 ,"Advantage National Bank Group, Elk Grove Village, IL has agreed to assume all deposits." +"Legacy Bank, Milwaukee, WI",PR-055-2011,11-Mar-11,$190.40 ,$183.30 ,"Seaway Bank and Trust Company, Chicago, IL has agreed to assume all deposits excluding certain brokered deposits." +"The First National Bank of Davis, Davis, OK",PR-054-2011,11-Mar-11,$90.20 ,$68.30 ,"The Pauls Valley National Bank, Pauls Valley, OK has agreed to assume all deposits excluding certain brokered deposits." +"Valley Community Bank, St. Charles, IL",PR-048-2011,25-Feb-11,$123.80 ,$124.20 ,"First State Bank, Mendota, IL has agreed to assume all deposits excluding certain brokered deposits." +"San Luis Trust Bank, FSB, San Luis Obispo, CA",PR-041-2011,18-Feb-11,$332.60 ,$272.20 ,"First California Bank, Westlake Village, CA has agreed to assume all deposits excluding certain brokered deposits." +"Charter Oak Bank, Napa, CA",PR-040-2011,18-Feb-11,$120.80 ,$105.30 ,"Bank of Marin, Novato, CA has agreed to assume all deposits excluding certain brokered deposits." +"Citizens Bank of Effingham, Springfield, GA",PR-039-2011,18-Feb-11,$214.30 ,$206.50 ,"Heritage Bank of the South, Albany, GA has agreed to assume all deposits excluding certain brokered deposits." +"Habersham Bank, Clarkesville, GA",PR-038-2011,18-Feb-11,$387.60 ,$339.90 ,"SCBT National Association, Orangeburg, SC has agreed to assume all deposits." +"Canyon National Bank, Palm Springs, CA",PR-035-2011,11-Feb-11,$210.90 ,$205.30 ,"Pacific Premier Bank, Costa Mesa, CA has agreed to assume all deposits excluding certain brokered deposits." +"Badger State Bank, Cassville, WI",PR-034-2011,11-Feb-11,$83.80 ,$78.50 ,"Royal Bank, Elroy, WI has agreed to assume all deposits excluding certain brokered deposits." +"Peoples State Bank, Hamtramck, MI",PR-033-2011,11-Feb-11,$390.50 ,$389.90 ,"First Michigan Bank, Troy, MI has agreed to assume all deposits." +"Sunshine State Community Bank, Port Orange, FL",PR-032-2011,11-Feb-11,$125.50 ,$116.70 ,"Premier American Bank, National Association, Miami, FL has agreed to assume all deposits." +"Community First Bank - Chicago, Chicago, IL",PR-025-2011,4-Feb-11,$51.10 ,$49.50 ,"Northbrook Bank & Trust Company, Northbrook, IL has agreed to assume all deposits." +"North Georgia Bank, Watkinsville, GA",PR-024-2011,4-Feb-11,$153.20 ,$139.70 ,"BankSouth, Greensboro, GA has agreed to assume all deposits excluding certain brokered deposits." +"American Trust Bank, Roswell, GA",PR-023-2011,4-Feb-11,$238.20 ,$222.20 ,"Renasant Bank, Tupelo, MS has agreed to assume all deposits." +"First Community Bank, Taos, NM",PR-018-2011,28-Jan-11,"$2,310.00 ","$1,940.00 ","U.S. Bank, National Association, Minneapolis, MN has agreed to assume all deposits excluding certain brokered deposits." +"FirsTier Bank, Louisville, CO",PR-017-2011,28-Jan-11,$781.50 ,$722.80 ,"To protect the insured depositors, the FDIC created Deposit Insurance National Bank of Louisville - a new depository institution chartered by the Office of Thrift Supervision (OTS), which will remain open until February 28, 2011." +"Evergreen State Bank, Stoughton, WI",PR-016-2011,28-Jan-11,$246.50 ,$195.20 ,"McFarland State Bank, McFarland, WI has agreed to assume all deposits excluding certain brokered deposits." +"The First State Bank, Camargo, OK",PR-015-2011,28-Jan-11,$43.50 ,$40.30 ,"Bank 7, Oklahoma City, OK has agreed to assume all deposits excluding certain brokered deposits." +"United Western Bank, Denver, CO",PR-013-2011,21-Jan-11,"$2,050.00 ","$1,650.00 ","First-Citizens Bank & Trust Co., Raleigh, NC has agreed to assume all deposits." +"The Bank of Asheville, Asheville, NC",PR-012-2011,21-Jan-11,$195.10 ,$188.30 ,"First Bank, Troy, NC has agreed to assume all deposits." +"CommunitySouth Bank and Trust, Easley, SC",PR-011-2011,21-Jan-11,$440.60 ,$402.40 ,"CertusBank, National Association, Charlotte, NC has agreed to assume all deposits excluding certain brokered deposits." +"Enterprise Banking Company, McDonough, GA",PR-010-2011,21-Jan-11,$100.90 ,$95.50 ,"To protect the insured depositors, the FDIC created Deposit Insurance National Bank of McDonough - a new depository institution chartered by the Office of Thrift Supervision (OTS), which will remain open until January 28, 2011." +"Oglethorpe Bank, Brunswick, GA",PR-006-2011,14-Jan-11,$230.60 ,$212.70 ,"Bank of the Ozarks, Little Rock, AR has agreed to assume all deposits excluding certain brokered deposits." +"Legacy Bank, Scottsdale, AZ",PR-003-2011,7-Jan-11,$150.60 ,$125.90 ,"Enterprise Bank & Trust, Clayton, MO has agreed to assume all deposits." +"First Commercial Bank of Florida, Orlando, FL",PR-002-2011,7-Jan-11,$598.50 ,$529.60 ,"First Southern Bank, Boca Raton, FL has agreed to assume all deposits excluding certain brokered deposits." +"Community National Bank, Lino Lakes, MN",PR-276-2010,17-Dec-10,$31.60 ,$28.80 ,"Farmers & Merchants Savings Bank, Manchester, IA, has agreed to assume all deposits." +"First Southern Bank, Batesville, AR",PR-275-2010,17-Dec-10,$191.80 ,$155.80 ,"Southern Bank, Poplar Bluff, MO has agreed to assume all deposits excluding certain brokered deposits." +"United Americas Bank, National Association, Atlanta, GA",PR-274-2010,17-Dec-10,$242.30 ,$193.80 ,"State Bank and Trust Company, Macon, GA has agreed to assume all deposits excluding certain brokered deposits." +"Appalachian Community Bank, FSB, McCaysville, GA",PR-273-2010,17-Dec-10,$68.20 ,$76.40 ,"Peoples Bank of East Tennessee, Madisonville, TN has agreed to assume all deposits excluding certain brokered deposits." +"Chestatee State Bank, Dawsonville, GA",PR-272-2010,17-Dec-10,$244.40 ,$240.50 ,"Bank of the Ozarks, Little Rock, AR has agreed to assume all deposits." +"The Bank of Miami, National Association, Coral Gables, FL",PR-271-2010,17-Dec-10,$448.20 ,$374.20 ,"1st United Bank, Boca Raton, FL has agreed to assume all deposits excluding certain brokered deposits." +"Earthstar Bank, Southampton, PA",PR-264-2010,10-Dec-10,$112.60 ,$104.50 ,"Polonia Bank, Huntingdon Valley, PA has agreed to assume all deposits." +"Paramount Bank, Farmington Hills, MI",PR-263-2010,10-Dec-10,$252.70 ,$213.60 ,"Level One Bank, Farmington Hills, MI has agreed to assume all deposits excluding certain brokered deposits." +"First Banking Center, Burlington, WI",PR-255-2010,19-Nov-10,$750.70 ,$664.80 ,"First Michigan Bank, Troy, MI has agreed to assume all deposits excluding certain brokered deposits." +"Allegiance Bank of North America, Bala Cynwyd, PA",PR-254-2010,19-Nov-10,$106.60 ,$92.00 ,"VIST Bank, Wyomissing, PA has agreed to assume all deposits excluding certain brokered deposits." +"Gulf State Community Bank, Carrabelle, FL",PR-253-2010,19-Nov-10,$112.10 ,$112.20 ,"Centennial Bank, Conway, AR has agreed to assume all deposits excluding certain brokered deposits." +"Copper Star Bank, Scottsdale, AZ",PR-250-2010,12-Nov-10,$204.00 ,$190.20 ,"Stearns Bank National Association, Saint Cloud, MN has agreed to assume all deposits excluding certain brokered deposits." +"Darby Bank & Trust Co., Vidalia, GA",PR-249-2010,12-Nov-10,$654.70 ,$587.60 ,"Ameris Bank, Moultrie, GA has agreed to assume all deposits excluding certain brokered deposits." +"Tifton Banking Company, Tifton, GA",PR-249-2010,12-Nov-10,$143.70 ,$141.60 ,"Ameris Bank, Moultrie, GA has agreed to assume all deposits including certain brokered deposits." +"First Vietnamese American Bank, Westminster, CA",PR-245-2010,5-Nov-10,$48.00 ,$47.00 ,"Grandpoint Bank, Los Angeles, CA has agreed to assume all deposits excluding certain brokered deposits." +"Pierce Commercial Bank, Tacoma, WA",PR-244-2010,5-Nov-10,$221.10 ,$193.50 ,"Heritage Bank, Olympia, WA has agreed to assume all deposits." +"Western Commercial Bank, Woodland Hills, CA",PR-243-2010,5-Nov-10,$98.60 ,$101.10 ,"First California Bank, Westlake Village, CA has agreed to assume all deposits." +"K Bank, Randallstown, MD",PR-242-2010,5-Nov-10,$538.30 ,$500.10 ,"Manufacturers and Traders Trust Company, Buffalo, NY has agreed to assume all deposits excluding certain brokered deposits." +"First Arizona Savings, A FSB, Scottsdale, AZ",PR-237-2010,22-Oct-10,$272.20 ,$198.80 ,"The FDIC has approved the payout of the insured deposits of First Arizona Savings, A FSB." +"Hillcrest Bank, Overland Park, KS",PR-236-2010,22-Oct-10,"$1,650.00 ","$1,540.00 ","Hillcrest Bank, National Association, Overland Park, KS has agreed to assume all deposits excluding certain brokered deposits." +"First Suburban National Bank, Maywood, IL",PR-235-2010,22-Oct-10,$148.70 ,$140.00 ,"Seaway Bank and Trust Company, Chicago, IL has agreed to assume all deposits excluding certain brokered deposits." +"The First National Bank of Barnesville, Barnesville, GA",PR-234-2010,22-Oct-10,$131.40 ,$127.10 ,"United Bank, Zebulon, GA has agreed to assume all deposits excluding certain brokered deposits." +"The Gordon Bank, Gordon, GA",PR-233-2010,22-Oct-10,$29.40 ,$26.70 ,"Morris Bank, Dublin, GA has agreed to assume all deposits." +"Progress Bank of Florida, Tampa, FL",PR-232-2010,22-Oct-10,$110.70 ,$101.30 ,"Bay Cities Bank, Tampa, FL has agreed to assume all deposits excluding certain brokered deposits." +"First Bank of Jacksonville, Jacksonville, FL",PR-231-2010,22-Oct-10,$81.00 ,$77.30 ,"Ameris Bank, Moultrie, GA has agreed to assume all deposits." +"Premier Bank, Jefferson City, MO",PR-228-2010,15-Oct-10,"$1,180.00 ","$1,030.00 ","Providence Bank, Columbia, MO has agreed to assume all deposits excluding certain brokered deposits." +"WestBridge Bank and Trust Company, Chesterfield, MO",PR-227-2010,15-Oct-10,$91.50 ,$72.50 ,"Midland States Bank, Effingham, IL has agreed to assume all deposits excluding certain brokered deposits." +"Security Savings Bank, F.S.B., Olathe, KS",PR-226-2010,15-Oct-10,$508.40 ,$397.00 ,"Simmons First National Bank, Pine Bluff, AR has agreed to assume all deposits." +"Shoreline Bank, Shoreline, WA",PR-221-2010,1-Oct-10,$104.20 ,$100.20 ,"GBC International Bank, Los Angeles, CA has agreed to assume all deposits excluding certain brokered deposits." +"Wakulla Bank, Crawfordville, FL",PR-220-2010,1-Oct-10,$424.10 ,$386.30 ,"Centennial Bank, Conway, AR has agreed to assume all deposits excluding certain brokered deposits." +"North County Bank, Arlington, WA",PR-215-2010,24-Sep-10,$288.80 ,$276.10 ,"Whidbey Island Bank, Coupeville, WA has agreed to assume all deposits excluding certain brokered deposits." +"Haven Trust Bank Florida, Ponte Vedra Beach, FL",PR-214-2010,24-Sep-10,$148.60 ,$133.60 ,"First Southern Bank, Boca Raton, FL has agreed to assume all deposits excluding certain brokered deposits." +"Maritime Savings Bank, West Allis, WI",PR-210-2010,17-Sep-10,$350.50 ,$248.10 ,"North Shore Bank, FSB, Brookfield, WI has agreed to assume all deposits excluding certain brokered deposits." +"Bramble Savings Bank, Milford, OH",PR-209-2010,17-Sep-10,$47.50 ,$41.60 ,"Foundation Bank, Cincinnati, OH has agreed to assume all deposits excluding certain brokered deposits." +"The Peoples Bank, Winder, GA",PR-208-2010,17-Sep-10,$447.20 ,$398.20 ,"Community & Southern Bank, Carrollton, GA has agreed to assume all deposits excluding certain brokered deposits." +"First Commerce Community Bank, Douglasville, GA",PR-208-2010,17-Sep-10,$248.20 ,$242.80 ,"Community & Southern Bank, Carrollton, GA has agreed to assume all deposits excluding certain brokered deposits." +"Bank of Ellijay, Ellijay, GA",PR-208-2010,17-Sep-10,$168.80 ,$160.70 ,"Community & Southern Bank, Carrollton, GA has agreed to assume all deposits." +"ISN Bank, Cherry Hill, NJ",PR-207-2010,17-Sep-10,$81.60 ,$79.70 ,"New Century Bank, Phoenixville, PA has agreed to assume all deposits excluding certain brokered deposits." +"Horizon Bank, Bradenton, FL",PR-205-2010,10-Sep-10,$187.80 ,$164.60 ,"Bank of the Ozarks, Little Rock, AR has agreed to assume all deposits excluding certain brokered deposits." +"Sonoma Valley Bank, Sonoma, CA",PR-196-2010,20-Aug-10,$337.10 ,$255.50 ,"Westamerica Bank, San Rafael, CA has agreed to assume all deposits." +"Los Padres Bank, Solvang, CA",PR-195-2010,20-Aug-10,$870.40 ,$770.70 ,"Pacific Western Bank, San Diego, CA has agreed to assume all deposits." +"Butte Community Bank, Chico, CA",PR-194-2010,20-Aug-10,$498.80 ,$471.30 ,"Rabobank, National Association, El Centro, CA has agreed to assume all deposits." +"Pacific State Bank, Stockton, CA",PR-194-2010,20-Aug-10,$312.10 ,$278.80 ,"Rabobank, National Association, El Centro, CA has agreed to assume all deposits, excluding certain brokered deposits." +"ShoreBank, Chicago, IL",PR-193-2010,20-Aug-10,"$2,160.00 ","$1,540.00 ","Urban Partnership Bank, Chicago, IL has agreed to assume all deposits, excluding certain brokered deposits." +"Imperial Savings and Loan Association, Martinsville, VA",PR-192-2010,20-Aug-10,$9.40 ,$10.10 ,"River Community Bank, National Association (N.A), Martinsville, VA has agreed to assume all deposits." +"Independent National Bank, Ocala, FL",PR-191-2010,20-Aug-10,$156.20 ,$141.90 ,"CenterState Bank of Florida, National Association, Winter Haven, FL has agreed to assume all deposits." +"Community National Bank at Bartow, Bartow, FL",PR-191-2010,20-Aug-10,$67.90 ,$63.70 ,"CenterState Bank of Florida, National Association, Winter Haven, FL has agreed to assume all deposits, excluding certain brokered deposits." +"Palos Bank and Trust Company, Palos Heights, IL",PR-189-2010,13-Aug-10,$493.40 ,$467.80 ,"First Midwest Bank, Itasca, IL has agreed to assume all deposits." +"Ravenswood Bank, Chicago, IL",PR-181-2010,6-Aug-10,$264.60 ,$269.50 ,"Northbrook Bank and Trust Company, Northbrook, IL has agreed to assume all deposits, excluding certain brokered deposits." +"LibertyBank, Eugene, OR",PR-176-2010,30-Jul-10,$768.20 ,$718.50 ,"Home Federal Bank, Nampa, ID has agreed to assume all deposits." +"The Cowlitz Bank, Longview, WA",PR-175-2010,30-Jul-10,$529.30 ,$513.90 ,"Heritage Bank, Olympia, WA has agreed to assume all deposits, excluding certain brokered deposits." +"Coastal Community Bank, Panama City Beach, FL",PR-174-2010,30-Jul-10,$372.90 ,$363.20 ,"Centennial Bank, Conway, AR has agreed to assume all deposits." +"Bayside Savings Bank, Port Saint Joe, FL",PR-174-2010,30-Jul-10,$66.10 ,$52.40 ,"Centennial Bank, Conway, AR has agreed to assume all deposits." +"NorthWest Bank and Trust, Acworth, GA",PR-172-2010,30-Jul-10,$167.70 ,$159.40 ,"State Bank and Trust Company, Macon Georgia, has agreed to assume all deposits, excluding certain brokered deposits." +"Home Valley Bank, Cave Junction, OR",PR-169-2010,23-Jul-10,$251.80 ,$229.60 ,"South Valley Bank & Trust, Klamath Falls, OR has agreed to assume all deposits." +"SouthwestUSA Bank, Las Vegas, NV",PR-168-2010,23-Jul-10,$214.00 ,$186.70 ,"Plaza Bank, Irvine, CA has agreed to assume all deposits, excluding certain brokered deposits." +"Community Security Bank, New Prague, MN",PR-167-2010,23-Jul-10,$108.00 ,$99.70 ,"Roundbank, Waseca, MN has agreed to assume all deposits." +"Thunder Bank, Sylvan Grove, KS",PR-166-2010,23-Jul-10,$32.60 ,$28.50 ,"The Bennington State Bank, Salina, KS has agreed to assume all deposits, excluding certain brokered deposits." +"Williamsburg First National Bank, Kingstree, SC",PR-165-2010,23-Jul-10,$139.30 ,$134.30 ,"First Citizens Bank and Trust Company, Inc., Columbia, SC has agreed to assume all deposits, excluding certain brokered deposits." +"Crescent Bank and Trust Company, Jasper, GA",PR-164-2010,23-Jul-10,"$1,010.00 ",$965.70 ,"The Renasant Bank, Tupelo, MS has agreed to assume all deposits, excluding certain brokered deposits." +"Sterling Bank, Lantana, FL",PR-163-2010,23-Jul-10,$407.90 ,$372.40 ,"IBERIABANK, Lafayette, LA has agreed to assume all deposits, excluding certain brokered deposits." +"Mainstreet Savings Bank, FSB, Hastings, MI",PR-159-2010,16-Jul-10,$97.40 ,$63.70 ,"Commercial Bank, Alma, MI has agreed to assume all deposits." +"Olde Cypress Community Bank, Clewiston, FL",PR-158-2010,16-Jul-10,$168.70 ,$162.40 ,"CenterState Bank of Florida, National Association, Winter Haven, FL has agreed to assume all deposits, excluding certain brokered deposits." +"Turnberry Bank, Aventura, FL",PR-157-2010,16-Jul-10,$263.90 ,$196.90 ,"NAFH National Bank, Miami, FL has agreed to assume all deposits." +"Metro Bank of Dade County, Miami, FL",PR-157-2010,16-Jul-10,$442.30 ,$391.30 ,"NAFH National Bank, Miami, FL has agreed to assume all deposits, excluding certain brokered deposits." +"First National Bank of the South, Spartanburg, SC",PR-157-2010,16-Jul-10,$682.00 ,$610.10 ,"NAFH National Bank, Miami, FL has agreed to assume all deposits, excluding certain brokered deposits." +"Woodlands Bank, Bluffton, SC",PR-156-2010,16-Jul-10,$376.20 ,$355.30 ,"Bank of the Ozarks, Little Rock, AR has agreed to assume all deposits, excluding certain brokered deposits." +"Home National Bank, Blackwell, OK",PR-152-2010,9-Jul-10,$644.50 ,$560.70 ,"RCB Bank, Claremore, OK has agreed to assume all deposits." +"USA Bank, Port Chester, NY",PR-151-2010,9-Jul-10,$193.30 ,$189.90 ,"The FDIC entered into a purchase and assumption agreement with New Century Bank (doing business as Customer's 1st Bank), Phoenixville, PA, to assume all of the deposits of USA Bank." +"Ideal Federal Savings Bank, Baltimore, MD",PR-150-2010,9-Jul-10,$6.30 ,$5.80 ,The FDIC has approved the payout of the insured deposits of Ideal Federal Savings Bank. +"Bay National Bank, Baltimore, MD",PR-149-2010,9-Jul-10,$282.20 ,$276.10 ,"To protect the depositors, the FDIC entered into a purchase and assumption agreement with Bay Bank, FSB, Lutherville, MD, to assume all of the deposits of Bay National Bank." +"High Desert State Bank, Albuquerque, NM",PR-145-2010,25-Jun-10,$80.30 ,$81.00 ,"First American Bank, Artesia, NM, has agreed to assume all deposits." +"First National Bank, Savannah, GA",PR-144-2010,25-Jun-10,$252.50 ,$231.90 ,"The Savannah Bank, National Association, Savannah, GA has agreed to assume all deposits, excluding certain brokered deposits." +"Peninsula Bank, Englewood, FL",PR-143-2010,25-Jun-10,$644.30 ,$580.10 ,"Premier American Bank, Miami, FL has agreed to assume all deposits excluding certain brokered deposits." +"Nevada Security Bank, Reno, NV",PR-137-2010,18-Jun-10,$480.30 ,$479.80 ,"Umpqua Bank, Roseburg, OR has agreed to assume all deposits, excluding certain brokered deposits." +"Washington First International Bank, Seattle, WA",PR-133-2010,11-Jun-10,$520.90 ,$441.40 ,"East West Bank, Pasadena, CA has agreed to assume all deposits." +"TierOne Bank, Lincoln, NE",PR-132-2010,4-Jun-10,"$2,800.00 ","$2,200.00 ","Great Western Bank, Sioux Falls, SD has agreed to assume all deposits." +"Arcola Homestead Savings Bank, Arcola, IL",PR-131-2010,4-Jun-10,$17.00 ,$18.10 ,The FDIC has approved the payout of the insured deposits of Arcola Homestead Savings Bank. +"First National Bank, Rosedale, MS",PR-130-2010,4-Jun-10,$60.40 ,$63.50 ,"Jefferson Bank, Fayette, MS has agreed to assume all deposits." +"Sun West Bank, Las Vegas, NV",PR-127-2010,28-May-10,$360.70 ,$353.90 ,"City National Bank, Los Angeles, CA has agreed to assume all deposits, excluding certain brokered deposits." +"Granite Community Bank, NA, Granite Bay, CA",PR-126-2010,28-May-10,$102.90 ,$94.20 ,"Tri Counties Bank, Chico, CA has agreed to assume all deposits." +"Bank of Florida - Tampa Bay, Tampa, FL",PR-125-2010,28-May-10,$245.20 ,$224.00 ,"EverBank, Jacksonville, FL has agreed to assume all deposits, excluding certain brokered deposits." +"Bank of Florida - Southwest, Naples, FL",PR-125-2010,28-May-10,$640.90 ,$559.90 ,"EverBank, Jacksonville, FL has agreed to assume all deposits, excluding certain brokered deposits." +"Bank of Florida - Southeast, Fort Lauderdale, FL",PR-125-2010,28-May-10,$595.30 ,$531.70 ,"EverBank, Jacksonville, FL has agreed to assume all deposits, excluding certain brokered deposits." +"Pinehurst Bank, St. Paul, MN",PR-118-2010,21-May-10,$61.20 ,$58.30 ,"Coulee Bank, La Crosse, WI has agreed to assume all deposits." +"Midwest Bank and Trust Company, Elmwood Park, IL",PR-116-2010,14-May-10,"$3,170.00 ","$2,420.00 ","FirstMerit Bank, National Association, Akron, OH has agreed to assume all deposits." +"Southwest Community Bank, Springfield, MO",PR-115-2010,14-May-10,$96.60 ,$102.50 ,"Simmons First National Bank, Pine Bluff, AR has agreed to assume all deposits." +"New Liberty Bank, Plymouth, MI",PR-114-2010,14-May-10,$109.10 ,$101.80 ,"Bank of Ann Arbor, Ann Arbor, MI has agreed to assume all deposits, excluding certain brokered deposits." +"Satilla Community Bank, Saint Marys, GA",PR-113-2010,14-May-10,$135.70 ,$134.00 ,"Ameris Bank, Moultrie, GA has agreed to assume all deposits, excluding certain brokered deposits." +"1st Pacific Bank of California, San Diego, CA",PR-109-2010,7-May-10,$335.80 ,$291.20 ,"City National Bank, Los Angeles, CA has agreed to assume all deposits, excluding certain brokered deposits." +"Towne Bank of Arizona, Mesa, AZ",PR-108-2010,7-May-10,$120.20 ,$113.20 ,"Commerce Bank of Arizona, Mesa, AZ has agreed to assume all deposits, excluding certain brokered deposits." +"Access Bank, Champlin, MN",PR-107-2010,7-May-10,$32.00 ,$32.00 ,"PrinsBank, Prinsburg, MN has agreed to assume all deposits." +"The Bank of Bonifay, Bonifay, FL",PR-106-2010,7-May-10,$242.90 ,$230.20 ,"First Federal Bank of Florida, Lake City, FL has agreed to assume all deposits." +"Frontier Bank, Everett, WA",PR-101-2010,30-Apr-10,"$3,500.00 ","$3,130.00 ","Union Bank, National Association, San Francisco, CA has agreed to assume all deposits, excluding certain brokered deposits." +"BC National Banks, Butler, MO",PR-100-2010,30-Apr-10,$67.20 ,$54.90 ,"Community First Bank, Butler, MO has agreed to assume all deposits." +"Champion Bank, Creve Coeur, MO",PR-099-2010,30-Apr-10,$187.30 ,$153.80 ,"BankLiberty, Liberty, PR has agreed to assume all deposits, excluding certain brokered deposits." +"CF Bancorp, Port Huron, MI",PR-098-2010,30-Apr-10,"$1,650.00 ","$1,430.00 ","First Michigan Bank, Troy, MI has agreed to assume all deposits, excluding certain brokered deposits." +"Westernbank Puerto Rico, Mayaguez, PR",PR-097-2010,30-Apr-10,"$11,940.00 ","$8,620.00 ","Banco Popular de Puerto Rico, San Juan, PR has agreed to assume all deposits, excluding certain brokered deposits." +"R-G Premier Bank of Puerto Rico, Hato Rey, PR",PR-096-2010,30-Apr-10,"$5,920.00 ","$4,250.00 ","Scotiabank de Puerto Rico, San Juan, PR has agreed to assume all deposits, excluding certain brokered deposits." +"Eurobank, San Juan, PR",PR-095-2010,30-Apr-10,"$2,560.00 ","$1,970.00 ","Oriental Bank and Trust, San Juan, PR has agreed to assume all deposits, excluding certain brokered deposits." +"Wheatland Bank, Naperville, IL",PR-090-2010,23-Apr-10,$437.20 ,$438.50 ,"Wheaton Bank & Trust, Wheaton, IL has agreed to assume all deposits, excluding certain brokered deposits." +"Peotone Bank and Trust Company, Peotone, IL",PR-089-2010,23-Apr-10,$130.20 ,$127.00 ,"First Midwest Bank, Itasca, IL has agreed to assume all deposits, excluding certain brokered deposits." +"Lincoln Park Savings Bank, Chicago, IL",PR-088-2010,23-Apr-10,$199.90 ,$171.50 ,"Northbrook Bank and Trust Company, Northbrook, IL has agreed to assume all deposits." +"New Century Bank, Chicago, IL",PR-087-2010,23-Apr-10,$485.60 ,$492.00 ,"MB Financial Bank, National Association, Chicago, IL has agreed to assume all deposits." +"Citizens Bank & Trust Company of Chicago, Chicago, IL",PR-086-2010,23-Apr-10,$77.30 ,$74.50 ,"Republic Bank of Chicago, Oak Brook, IL has agreed to assume all deposits." +"Broadway Bank, Chicago, IL",PR-085-2010,23-Apr-10,"$1,200.00 ","$1,100.00 ","MB Financial Bank, National Association, Chicago, IL has agreed to assume all deposits, excluding certain brokered deposits." +"Amcore Bank, National Association, Rockford, IL",PR-084-2010,23-Apr-10,"$3,800.00 ","$3,400.00 ","Harris National Association, Chicago, IL has agreed to assume all deposits, excluding certain brokered deposits." +"City Bank, Lynnwood, WA",PR-082-2010,16-Apr-10,"$1,130.00 ","$1,020.00 ","Whidbey Island Bank, Coupeville, WA has agreed to assume all deposits, excluding certain brokered deposits." +"Tamalpais Bank, San Rafael, CA",PR-081-2010,16-Apr-10,$628.90 ,$487.60 ,"Union Bank, National Association, San Francisco, CA has agreed to assume all deposits, excluding certain brokered deposits." +"Innovative Bank, Oakland, CA",PR-080-2010,16-Apr-10,$268.90 ,$225.20 ,"Center Bank, Los Angeles, CA has agreed to assume all deposits, excluding certain brokered deposits." +"Butler Bank, Lowell, MA",PR-079-2010,16-Apr-10,$268.00 ,$233.20 ,"People's United Bank, Bridgeport, CT has agreed to assume all deposits." +"Riverside National Bank of Florida, Fort Pierce, FL",PR-078-2010,16-Apr-10,"$3,420.00 ","$2,760.00 ","TD Bank, National Association, Wilmington, DE has agreed to assume all deposits, excluding certain brokered deposits." +"AmericanFirst Bank, Clermont, FL",PR-078-2010,16-Apr-10,$90.50 ,$81.90 ,"TD Bank, National Association, Wilmington, DE has agreed to assume all deposits, excluding certain brokered deposits." +"First Federal Bank of North Florida, Palatka, FL",PR-078-2010,16-Apr-10,$393.30 ,$324.20 ,"TD Bank, National Association, Wilmington, DE has agreed to assume all deposits." +"Lakeside Community Bank, Sterling Heights, MI",PR-077-2010,16-Apr-10,$53.00 ,$52.30 ,The FDIC has approved the payout of the insured deposits of Lakeside Community Bank. +"Beach First National Bank, Myrtle Beach, SC",PR-073-2010,9-Apr-10,$585.10 ,$516.00 ,"Bank of North Carolina, Thomasville, NC has agreed to assume all deposits, excluding certain brokered deposits." +"Desert Hills Bank, Phoenix, AZ",PR-069-2010,26-Mar-10,$496.60 ,$426.50 ,"New York Community Bank, Westbury, NY has agreed to assume all deposits, excluding certain brokered deposits." +"Unity National Bank, Cartersville, GA",PR-068-2010,26-Mar-10,$292.20 ,$264.30 ,"Bank of the Ozarks, Little Rock, AR has agreed to assume all deposits, excluding certain brokered deposits." +"Key West Bank, Key West, FL",PR-067-2010,26-Mar-10,$88.00 ,$67.70 ,"Centennial Bank, Conway, AR has agreed to assume all deposits, excluding certain brokered deposits." +"McIntosh Commercial Bank, Carrollton, GA",PR-066-2010,26-Mar-10,$362.90 ,$343.30 ,"CharterBank, West Point, GA has agreed to assume all deposits, excluding certain brokered deposits." +"State Bank of Aurora, Aurora, MN",PR-062-2010,19-Mar-10,$28.20 ,$27.80 ,"Northern State Bank, Ashland, WI has agreed to assume all deposits." +"First Lowndes Bank, Fort Deposit, AL",PR-061-2010,19-Mar-10,$137.20 ,$131.10 ,"First Citizens Bank, Luverne, AL has agreed to assume all deposits." +"Bank of Hiawassee, Hiawassee, GA",PR-060-2010,19-Mar-10,$377.80 ,$339.60 ,"Citizens South Bank, Gastonia, NC has agreed to assume all deposits, excluding certain brokered deposits." +"Appalachian Community Bank, Ellijay, GA",PR-059-2010,19-Mar-10,"$1,010.00 ",$917.60 ,"Community & Southern Bank, Carrollton, GA has agreed to assume all deposits." +"Advanta Bank Corp., Draper, UT",PR-058-2010,19-Mar-10,"$1,600.00 ","$1,500.00 ",The FDIC has approved the payout of the insured deposits of Advanta Bank Corp. +"Century Security Bank, Duluth, GA",PR-057-2010,19-Mar-10,$96.50 ,$94.00 ,"Bank of Upson, Thomaston, GA has agreed to assume all deposits, excluding certain brokered deposits." +"American National Bank, Parma, OH",PR-056-2010,19-Mar-10,$70.30 ,$66.80 ,"The National Bank and Trust Company, Wilmington, OH has agreed to assume all deposits, excluding certain brokered deposits." +"Statewide Bank, Covington, LA",PR-053-2010,12-Mar-10,$243.20 ,$208.80 ,"Home Bank, Lafayette, LA has agreed to assume all deposits." +"Old Southern Bank, Orlando, FL",PR-052-2010,12-Mar-10,$315.60 ,$319.70 ,"Centennial Bank, Conway, AR has agreed to assume all deposits." +"Park Avenue Bank, New York, NY",PR-051-2010,12-Mar-10,$520.10 ,$494.50 ,"Valley National Bank, Wayne, NJ has agreed to assume all deposits, excluding certain brokered deposits." +"LibertyPointe Bank, New York, NY",PR-049-2010,11-Mar-10,$209.70 ,$209.50 ,"Valley National Bank, Wayne, NJ has agreed to assume all deposits." +"Centennial Bank, Ogden, UT",PR-046-2010,5-Mar-10,$215.20 ,$205.10 ,The FDIC has approved the payout of the insured deposits of Centennial Bank. +"Waterfield Bank, Germantown, MD",PR-045-2010,5-Mar-10,$155.60 ,$156.40 ,"To protect the insured depositors, the FDIC created Waterfield Bank, FA - a new depository institution chartered by the Office of Thrift Supervision (OTS) and insured by the FDIC - to take over the operations of Waterfield Bank. The FDIC will mail checks directly to customers with CDs and IRAs for the amount of their insured funds." +"Bank of Illinois, Normal, IL",PR-044-2010,5-Mar-10,$211.70 ,$198.50 ,"Heartland Bank and Trust Company, Bloomington, IL has agreed to assume all deposits, excluding certain brokered deposits." +"Sun American Bank, Boca Raton, FL",PR-043-2010,5-Mar-10,$535.70 ,$443.50 ,"First-Citizens Bank & Trust Company, Raleigh, NC has agreed to assume all deposits, excluding certain brokered deposits." +"Rainier Pacific Bank, Tacoma, WA",PR-041-2010,26-Feb-10,$717.80 ,$446.20 ,"Umpqua Bank, Roseburg, OR has agreed to assume all deposits, excluding certain brokered deposits." +"Carson River Community Bank, Carson City, NV",PR-040-2010,26-Feb-10,$51.10 ,$50.00 ,"Heritage Bank of Nevada, Reno, NV has agreed to assume all deposits, excluding certain brokered deposits." +"La Jolla Bank, FSB, La Jolla, CA",PR-034-2010,19-Feb-10,"$3,600.00 ","$2,800.00 ","OneWest Bank, FSB, Pasadena, CA has agreed to assume all deposits." +"George Washington Savings Bank, Orland Park, IL",PR-033-2010,19-Feb-10,$412.80 ,$395.30 ,"FirstMerit Bank, National Association, Akron, OH has agreed to assume all deposits." +"The La Coste National Bank, La Coste, TX",PR-032-2010,19-Feb-10,$53.90 ,$49.30 ,"Community National Bank, Hondo, TX has agreed to assume all deposits." +"Marco Community Bank, Marco Island, FL",PR-031-2010,19-Feb-10,$119.60 ,$117.10 ,"Mutual of Omaha Bank, Omaha, NE has agreed to assume all deposits, excluding certain brokered deposits." +"1st American State Bank of Minnesota, Hancock, MN",PR-030-2010,5-Feb-10,$18.20 ,$16.30 ,"Community Development Bank, FSB, Ogema, MN has agreed to assume all deposits." +"American Marine Bank, Bainbridge Island, WA",PR-027-2010,29-Jan-10,$373.20 ,$308.50 ,"Columbia State Bank, Tacoma, WA has agreed to assume all deposits, excluding certain brokered deposits." +"First Regional Bank, Los Angeles, CA",PR-026-2010,29-Jan-10,"$2,180.00 ","$1,870.00 ","First-Citizens Bank & Trust Company, Raleigh, NC has agreed to assume all deposits, excluding certain brokered deposits." +"Community Bank and Trust, Cornelia, GA",PR-025-2010,29-Jan-10,"$1,210.00 ","$1,110.00 ","SCBT National Association, Orangeburg, SC has agreed to assume all deposits, excluding certain brokered deposits." +"Marshall Bank, National Association, Hallock, MN",PR-024-2010,29-Jan-10,$59.90 ,$54.70 ,"United Valley Bank, Cavalier, ND has agreed to assume all deposits." +"Florida Community Bank, Immokalee, FL",PR-023-2010,29-Jan-10,$875.50 ,$795.50 ,"Premier American Bank, National Association, Miami, FL has agreed to assume all deposits, excluding certain brokered deposits." +"First National Bank of Georgia, Carrollton, GA",PR-022-2010,29-Jan-10,$832.60 ,$757.90 ,"Community and Southern Bank, Carrollton, GA has agreed to assume all deposits, excluding certain brokered deposits." +"Columbia River Bank, The Dalles, OR",PR-018-2010,22-Jan-10,"$1,100.00 ","$1,000.00 ","Columbia State Bank, Tacoma, WA has agreed to assume all deposits." +"Evergreen Bank, Seattle, WA",PR-017-2010,22-Jan-10,$488.50 ,$439.40 ,"Umpqua Bank, Roseburg, OR has agreed to assume all deposits, excluding certain brokered deposits." +"Charter Bank, Santa Fe, NM",PR-016-2010,22-Jan-10,"$1,200.00 ",$851.50 ,"Charter Bank, Albuquerque, NM has agreed to assume all deposits, excluding certain brokered deposits." +"Bank of Leeton, Leeton, MO",PR-015-2010,22-Jan-10,$20.10 ,$20.40 ,"Sunflower Bank, National Association, Salina, KS has agreed to assume all deposits." +"Premier American Bank, Miami, FL",PR-014-2010,22-Jan-10,$350.90 ,$326.30 ,"Premier American Bank, National Association, Miami, FL has agreed to assume all deposits, excluding certain brokered deposits." +"Barnes Banking Company, Kaysville, UT",PR-010-2010,15-Jan-10,$827.80 ,$786.50 ,"The FDIC has created the Deposit Insurance National Bank of Kaysville, UT (""DINB of Kaysville"") to facilitate the resolution of Barnes Banking Company, Kaysville, UT." +"St. Stephen State Bank, St. Stephen, MN",PR-009-2010,15-Jan-10,$24.70 ,$23.40 ,"First State Bank of St. Joseph, St. Joseph, MN has agreed to assume all deposits." +"Town Community Bank and Trust, Antioch, IL",PR-008-2010,15-Jan-10,$69.60 ,$67.40 ,"First American Bank, Elk Grove Village, IL has agreed to assume all deposits, excluding certain brokered deposits." +"Horizon Bank, Bellingham, WA",PR-004-2010,8-Jan-10,"$1,300.00 ","$1,100.00 ","Washington Federal Savings and Loan Association, Seattle, WA has agreed to assume all deposits, excluding certain brokered deposits." +"First Federal Bank of California, F.S.B., Santa Monica, CA",PR-239-2009,18-Dec-09,"$6,100.00 ","$4,500.00 ","OneWest Bank, FSB, Pasadena, CA has agreed to assume all deposits." +"Imperial Capital Bank, La Jolla, CA",PR-238-2009,18-Dec-09,"$4,000.00 ","$2,800.00 ","City National Bank, Los Angeles, CA has agreed to assume all deposits, excluding certain brokered deposits." +"Independent Bankers' Bank, Springfield, IL",PR-237-2009; PR-006-2010,18-Dec-09,$585.50 ,$511.50 ,"The FDIC created a bridge bank, Independent Bankers' Bank Bridge Bank (IBB Bridge Bank, National Association), to take over operations." +"New South Federal Savings Bank, Irondale, AL",PR-236-2009,18-Dec-09,"$1,500.00 ","$1,200.00 ","Beal Bank, Plano, TX has agreed to assume all deposits." +"Citizens State Bank, New Baltimore, MI",PR-235-2009,18-Dec-09,$168.60 ,$157.10 ,"Deposit Insurance National Bank of New Baltimore, New Baltimore, MI has agreed to assume insured deposits." +"Peoples First Community Bank, Panama City, FL",PR-234-2009,18-Dec-09,"$1,800.00 ","$1,700.00 ","Hancock Bank, Gulfport, MS has agreed to assume all deposits, excluding certain brokered deposits." +"RockBridge Commercial Bank, Atlanta, GA",PR-233-2009,18-Dec-09,$294.00 ,$291.70 ,The FDIC has approved the payout of the insured deposits of RockBridge Commercial Bank. +"SolutionsBank, Overland Park, KS",PR-227-2009,11-Dec-09,$511.10 ,$421.30 ,"Arvest Bank, Fayetteville, AR has agreed to assume all deposits, excluding certain brokered deposits." +"Valley Capital Bank, National Association, Mesa, AZ",PR-226-2009,11-Dec-09,$40.30 ,$41.30 ,"Enterprise Bank & Trust, Clayton, MO has agreed to assume all deposits." +"Republic Federal Bank, National Association, Miami, FL",PR-225-2009,11-Dec-09,$433.00 ,$352.70 ,"1st United Bank, Boca Raton, FL has agreed to assume all deposits, excluding certain brokered deposits." +"Greater Atlantic Bank, Reston, VA",PR-224-2009,4-Dec-09,$203.00 ,$179.00 ,"Sonabank, McLean, VA has agreed to assume all deposits." +"Benchmark Bank, Aurora, IL",PR-223-2009,4-Dec-09,$170.00 ,$181.00 ,"MB Financial Bank, National Association, Chicago, IL has agreed to assume all deposits, excluding certain brokered deposits." +"AmTrust Bank, Cleveland, OH",PR-222-2009,4-Dec-09,"$12,000.00 ","$8,000.00 ","New York Community Bank, Westbury, NY has agreed to assume all deposits." +"The Tattnall Bank, Reidsville, GA",PR-221-2009,4-Dec-09,$49.60 ,$47.30 ,"HeritageBank of the South, Albany, GA has agreed to assume all deposits, excluding certain brokered deposits." +"First Security National Bank, Norcross, GA",PR-220-2009,4-Dec-09,$128.00 ,$123.00 ,"State Bank and Trust Company, Macon, GA has agreed to assume all deposits, excluding certain brokered deposits." +"The Buckhead Community Bank, Atlanta, GA",PR-219-2009,4-Dec-09,$874.00 ,$838.00 ,"State Bank and Trust Company, Macon, GA has agreed to assume all deposits, excluding certain brokered deposits." +"Commerce Bank of Southwest Florida, Fort Myers, FL",PR-211-2009,20-Nov-09,$79.70 ,$76.70 ,"Central Bank, Stillwater, MN has agreed to assume all deposits, excluding certain brokered deposits." +"Pacific Coast National Bank, San Clemente, CA",PR-207-2009,13-Nov-09,$134.40 ,$130.90 ,"Sunwest Bank, Tustin, CA has agreed to assume all deposits, excluding certain brokered deposits." +"Orion Bank, Naples, FL",PR-206-2009,13-Nov-09,"$2,700.00 ","$2,100.00 ","IBERIABANK, Lafayette, LA has agreed to assume all deposits, excluding certain brokered deposits." +"Century Bank, a Federal Savings Bank, Sarasota, FL",PR-205-2009,13-Nov-09,$728.00 ,$631.00 ,"IBERIABANK, Lafayette, LA has agreed to assume all deposits, excluding certain brokered deposits." +"United Commercial Bank, San Francisco, CA",PR-201-2009,6-Nov-09,"$11,200.00 ","$7,500.00 ","East West Bank, Pasadena, CA has agreed to assume all deposits, excluding certain brokered deposits." +"Gateway Bank of St. Louis, St. Louis, MO",PR-200-2009,6-Nov-09,$27.70 ,$27.90 ,"Central Bank of Kansas City, Kansas City, MO has agreed to assume all deposits." +"Prosperan Bank, Oakdale, MN",PR-199-2009,6-Nov-09,$199.50 ,$175.60 ,"Alerus Financial, National Association, Grand Forks, ND has agreed to assume all deposits, excluding certain brokered deposits." +"Home Federal Savings Bank, Detroit, MI",PR-198-2009,6-Nov-09,$14.90 ,$12.80 ,"Liberty Bank and Trust Company, New Orleans, LA has agreed to assume all deposits." +"United Security Bank, Sparta, GA",PR-197-2009,6-Nov-09,$157.00 ,$150.00 ,"Ameris Bank, Moultrie, GA has agreed to assume all deposits, excluding certain brokered deposits." +"North Houston Bank, Houston, TX",PR-195-2009,30-Oct-09,$326.20 ,$308.00 ,"U.S. Bank National Association, Minneapolis, MN has agreed to assume all deposits." +"Madisonville State Bank, Madisonville, TX",PR-195-2009,30-Oct-09,$256.70 ,$225.20 ,"U.S. Bank National Association, Minneapolis, MN has agreed to assume all deposits." +"Citizens National Bank, Teague, TX",PR-195-2009,30-Oct-09,$118.20 ,$97.70 ,"U.S. Bank National Association, Minneapolis, MN has agreed to assume all deposits." +"Park National Bank, Chicago, IL",PR-195-2009,30-Oct-09,"$4,706.10 ","$3,730.90 ","U.S. Bank National Association, Minneapolis, MN has agreed to assume all deposits." +"Pacific National Bank, San Francisco, CA",PR-195-2009,30-Oct-09,"$2,335.30 ","$1,762.80 ","U.S. Bank National Association, Minneapolis, MN has agreed to assume all deposits." +"California National Bank, Los Angeles, CA",PR-195-2009,30-Oct-09,"$7,792.20 ","$6,160.40 ","U.S. Bank National Association, Minneapolis, MN has agreed to assume all deposits." +"San Diego National Bank, San Diego, CA",PR-195-2009,30-Oct-09,"$3,608.10 ","$2,892.40 ","U.S. Bank National Association, Minneapolis, MN has agreed to assume all deposits." +"Community Bank of Lemont, Lemont, IL",PR-195-2009,30-Oct-09,$81.80 ,$81.20 ,"U.S. Bank National Association, Minneapolis, MN has agreed to assume all deposits." +"Bank USA, National Association, Phoenix, AZ",PR-195-2009,30-Oct-09,$212.80 ,$117.10 ,"U.S. Bank National Association, Minneapolis, MN has agreed to assume all deposits." +"First DuPage Bank, Westmont, IL",PR-192-2009,23-Oct-09,$279.00 ,$254.00 ,"First Midwest Bank, Itasca, IL has agreed to assume all deposits, excluding certain brokered deposits." +"Riverview Community Bank, Otsego, MN",PR-191-2009,23-Oct-09,$108.00 ,$80.00 ,"Central Bank, Stillwater, MN has agreed to assume all deposits." +"Bank of Elmwood, Racine, WI",PR-190-2009,23-Oct-09,$327.40 ,$273.20 ,"Tri City National Bank, Oak Creek, WI has agreed to assume all deposits, excluding certain brokered deposits." +"Flagship National Bank, Bradenton, FL",PR-189-2009,23-Oct-09,$190.00 ,$175.00 ,"First Federal Bank of Florida, Lake City, FL has agreed to assume all deposits." +"Hillcrest Bank Florida, Naples, FL",PR-188-2009,23-Oct-09,$83.00 ,$84.00 ,"Stonegate Bank, Fort Lauderdale, FL has agreed to assume all deposits, excluding certain brokered deposits." +"American United Bank, Lawrenceville, GA",PR-187-2009,23-Oct-09,$111.00 ,$101.00 ,"Ameris Bank, Moultrie, GA has agreed to assume all deposits." +"Partners Bank, Naples, FL",PR-186-2009,23-Oct-09,$65.50 ,$64.90 ,"Stonegate Bank, Fort Lauderdale, FL has agreed to assume all deposits." +"San Joaquin Bank, Bakersfield, CA",PR-185-2009,16-Oct-09,$775.00 ,$631.00 ,"Citizens Business Bank, Ontario, CA has agreed to assume all deposits, excluding certain brokered deposits." +"Southern Colorado National Bank, Pueblo, CO",PR-181-2009,2-Oct-09,$39.50 ,$31.90 ,"Legacy Bank, Wiley, CO has agreed to assume all deposits." +"Jennings State Bank, Spring Grove, MN",PR-180-2009,2-Oct-09,$56.30 ,$52.40 ,"Central Bank, Stillwater, MN has agreed to assume all deposits." +"Warren Bank, Warren, MI",PR-179-2009,2-Oct-09,$538.00 ,$501.00 ,"The Huntington National Bank, Columbus, OH has agreed to assume all deposits, excluding certain brokered deposits." +"Georgian Bank, Atlanta, GA",PR-177-2009,25-Sep-09,"$2,000.00 ","$2,000.00 ","First Citizens Bank and Trust Company, Inc., Columbia, SC has agreed to assume all deposits, excluding certain brokered deposits." +"Irwin Union Bank, F.S.B., Louisville, KY",PR-174-2009,18-Sep-09,$493.00 ,$441.00 ,"First Financial Bank, National Association, Hamilton, OH has agreed to assume all deposits." +"Irwin Union Bank and Trust Company, Columbus, IN",PR-174-2009,18-Sep-09,"$2,700.00 ","$2,100.00 ","First Financial Bank, National Association, Hamilton, OH has agreed to assume all deposits." +"Venture Bank, Lacey, WA",PR-170-2009,11-Sep-09,$970.00 ,$903.00 ,"First-Citizens Bank & Trust Company, Raleigh, NC has agreed to assume all deposits, excluding certain brokered deposits." +"Brickwell Community Bank, Woodbury, MN",PR-169-2009,11-Sep-09,$72.00 ,$63.00 ,"CorTrust Bank National Association, Mitchell, SD has agreed to assume all deposits, excluding certain brokered deposits." +"Corus Bank, National Association, Chicago, IL",PR-168-2009,11-Sep-09,"$7,000.00 ","$7,000.00 ","MB Financial Bank, National Association, Chicago, IL has agreed to assume all deposits, excluding certain brokered deposits." +"First State Bank, Flagstaff, AZ",PR-165-2009,4-Sep-09,$105.00 ,$95.00 ,"Sunwest Bank, Tustin, CA has agreed to assume all deposits, excluding certain brokered deposits." +"Platinum Community Bank, Rolling Meadows, IL",PR-164-2009,4-Sep-09,$345.60 ,$305.00 ,The FDIC has approved the payout of the insured deposits Platinum Community Bank. +"Vantus Bank, Sioux City, IA",PR-163-2009,4-Sep-09,$458.00 ,$368.00 ,"Great Southern Bank, Springfield, MO has agreed to assume all deposits." +"InBank, Oak Forest, IL",PR-162-2009,4-Sep-09,$212.00 ,$199.00 ,"MB Financial Bank, National Association, Chicago, IL has agreed to assume all deposits, excluding certain brokered deposits." +"First Bank of Kansas City, Kansas City, MO",PR-161-2009,4-Sep-09,$16.00 ,$15.00 ,"Great American Bank, De Soto, KS has agreed to assume all deposits." +"Affinity Bank, Ventura, CA",PR-157-2009,28-Aug-09,"$1,000.00 ",$922.00 ,"Pacific Western Bank, San Diego, CA has agreed to assume all deposits, excluding certain brokered deposits." +"Mainstreet Bank, Forest Lake, MN",PR-156-2009,28-Aug-09,$459.00 ,$434.00 ,"Central Bank, Stillwater, MN has agreed to assume all deposits, excluding certain brokered deposits." +"Bradford Bank, Baltimore, MD",PR-155-2009,28-Aug-09,$452.00 ,$383.00 ,"Manufacturers and Traders Trust Company, Buffalo, NY has agreed to assume all deposits." +"Guaranty Bank, Austin, TX",PR-150-2009,21-Aug-09,"$13,000.00 ","$12,000.00 ","BBVA Compass, Birmingham, AL has agreed to assume all deposits, excluding certain brokered deposits." +"CapitalSouth Bank, Birmingham, AL",PR-149-2009,21-Aug-09,$617.00 ,$546.00 ,"IBERIABANK, Lafayette, LA has agreed to assume all deposits, excluding certain brokered deposits." +"First Coweta Bank, Newnan, GA",PR-148-2009,21-Aug-09,$167.00 ,$155.00 ,"United Bank, Zebulon, GA, has agreed to assume all deposits, excluding certain brokered deposits." +"ebank, Atlanta, GA",PR-147-2009,21-Aug-09,$143.00 ,$130.00 ,"Stearns Bank National Association, St. Cloud, MN, has agreed to assume all deposits." +"Community Bank of Nevada, Las Vegas, NV",PR-146-2009,14-Aug-09,"$1,520.00 ","$1,380.00 ","The FDIC has created the Deposit Insurance National Bank of Las Vegas, NV (""DINB of Las Vegas"") to facilitate the resolution of Community Bank of Nevada, Las Vegas, NV." +"Community Bank of Arizona, Phoenix, AZ",PR-145-2009,14-Aug-09,$158.50 ,$143.80 ,"MidFirst Bank, Oklahoma City, OK, has agreed to assume all deposits, excluding certain brokered deposits (approximately $143.8 million)." +"Union Bank, National Association, Gilbert, AZ",PR-144-2009,14-Aug-09,$124.00 ,$112.00 ,"MidFirst Bank, Oklahoma City, OK, has agreed to assume all non-brokered deposits." +"Colonial Bank, Montgomery, AL",PR-143-2009,14-Aug-09,"$25,000.00 ","$20,000.00 ","Branch Banking and Trust Company (BB&T), Winston-Salem, NC, has agreed to assume all deposits." +"Dwelling House Savings and Loan Association, Pittsburgh, PA",PR-142-2009,14-Aug-09,$13.40 ,$13.80 ,"PNC Bank, National Association, Pittsburgh, PA has agreed to assume all deposits." +"Community First Bank, Prineville, OR",PR-141-2009,7-Aug-09,$209.00 ,$182.00 ,"Home Federal Bank, Nampa, ID, has agreed to assume all deposits, excluding certain brokered deposits." +"Community National Bank of Sarasota County, Venice, FL",PR-140-2009,7-Aug-09,$97.00 ,$93.00 ,"Stearns Bank National Association, St. Cloud, MN, has agreed to assume all deposits." +"First State Bank, Sarasota, FL",PR-139-2009,7-Aug-09,$463.00 ,$387.00 ,"Stearns Bank National Association, St. Cloud, MN, has agreed to assume all deposits, excluding certain brokered deposits." +"Mutual Bank, Harvey, Illinois",PR-137-2009,31-Jul-09,"$1,600.00 ","$1,600.00 ","United Central Bank, Garland, TX, has agreed to assume all deposits." +"First BankAmericano, Elizabeth, NJ",PR-136-2009,31-Jul-09,$166.00 ,$157.00 ,"Crown Bank, Brick, NJ, has agreed to assume all deposits." +"Peoples Community Bank, West Chester, OH",PR-135-2009,31-Jul-09,$705.80 ,$598.20 ,"First Financial Bank, National Association, Hamilton, OH, has agreed to assume all deposits, excluding certain brokered deposits." +"Integrity Bank, Jupiter, FL",PR-134-2009,31-Jul-09,$119.00 ,$102.00 ,"Stonegate Bank, Fort Lauderdale, FL, has agreed to assume all deposits, excluding certain brokered deposits." +"First State Bank of Altus, Altus, OK",PR-133-2009,31-Jul-09,$103.40 ,$98.20 ,"Herring Bank, Amarillo, TX, has agreed to assume all deposits." +"Security Bank of Bibb County, Macon, GA",PR-130-2009,24-Jul-09,"$1,200.00 ","$1,000.00 ","State Bank and Trust Company, Pinehurst, GA, has agreed to assume all deposits." +"Security Bank of Houston County, Perry, GA",PR-130-2009,24-Jul-09,$383.00 ,$320.00 ,"State Bank and Trust Company, Pinehurst, GA, has agreed to assume all deposits." +"Security Bank of Jones County, Gray, GA",PR-130-2009,24-Jul-09,$453.00 ,$387.00 ,"State Bank and Trust Company, Pinehurst, GA, has agreed to assume all deposits." +"Security Bank of Gwinnett County, Suwanee, GA",PR-130-2009,24-Jul-09,$322.00 ,$292.00 ,"State Bank and Trust Company, Pinehurst, GA, has agreed to assume all deposits." +"Security Bank of North Metro, Woodstock, GA",PR-130-2009,24-Jul-09,$224.00 ,$212.00 ,"State Bank and Trust Company, Pinehurst, GA, has agreed to assume all deposits." +"Security Bank of North Fulton, Alpharetta, GA",PR-130-2009,24-Jul-09,$209.00 ,$191.00 ,"State Bank and Trust Company, Pinehurst, GA, has agreed to assume all deposits." +"Waterford Village Bank, Williamsville, NY",PR-129-2009,24-Jul-09,$61.40 ,$58.00 ,"Evans Bank, National Association, Angola, NY, has agreed to assume all deposits." +"Temecula Valley Bank, Temecula, CA",PR-126-2009,17-Jul-09,"$1,500.00 ","$1,300.00 ","First-Citizens Bank & Trust Company, Raleigh, North Carolina, has agreed to assume all deposits, excluding certain brokered deposits." +"Vineyard Bank, National Association, Rancho Cucamonga, CA",PR-125-2009,17-Jul-09,"$1,900.00 ","$1,600.00 ","California Bank & Trust, San Diego, CA, has agreed to assume all deposits, excluding certain brokered deposits." +"BankFirst, Sioux Falls, SD",PR-124-2009,17-Jul-09,$275.00 ,$254.00 ,"Alerus Financial, National Association, Grand Forks, ND, has agreed to assume all deposits." +"First Piedmont Bank, Winder, GA",PR-123-2009,17-Jul-09,$115.00 ,$109.00 ,"First American Bank and Trust Company, Athens, GA, has agreed to assume all deposits." +"Bank of Wyoming, Thermopolis, WY",PR-122-2009,10-Jul-09,$70.00 ,$67.00 ,"Central Bank & Trust, Lander, WY, has agreed to assume all deposits, excluding certain brokered deposits." +"Founders Bank, Worth, IL",PR-119-2009,2-Jul-09,$962.50 ,$848.90 ,"The PrivateBank and Trust Company, Chicago, IL, has agreed to assume all deposits." +"Millennium State Bank of Texas, Dallas, TX",PR-118-2009,2-Jul-09,$118.00 ,$115.00 ,"State Bank of Texas, Irving, Texas, has agreed to assume all deposits." +"The First National Bank of Danville, Danville, IL",PR-117-2009,2-Jul-09,$166.00 ,$147.00 ,"First Financial Bank, National Association, Terre Haute, Indiana, has agreed to assume all deposits." +"The Elizabeth State Bank, Elizabeth, IL",PR-116-2009,2-Jul-09,$55.50 ,$50.40 ,"Galena State Bank and Trust Company, Galena, IL, has agreed to assume all deposits." +"Rock River Bank, Oregon, IL",PR-115-2009,2-Jul-09,$77.00 ,$75.80 ,"The Harvard State Bank, Harvard, Illinois, has agreed to assume all deposits." +"The First State Bank of Winchester, Winchester, IL",PR-114-2009,2-Jul-09,$36.00 ,$34.00 ,"The First National Bank of Beardstown, Beardstown, IL, has agreed to assume all deposits." +"The John Warner Bank, Clinton, IL",PR-113-2009,2-Jul-09,$70.00 ,$64.00 ,"State Bank of Lincoln, Lincoln, IL, has agreed to assume all deposits." +"Mirae Bank, Los Angeles, CA",PR-105-2009,26-Jun-09,$456.00 ,$362.00 ,"Wilshire State Bank, Los Angeles, CA, has agreed to assume all deposits." +"MetroPacific Bank, Irvine, CA",PR-104-2009,26-Jun-09,$80.00 ,$73.00 ,"Sunwest Bank, Tustin, CA, has agreed to assume all non-brokered deposits." +"Horizon Bank, Pine City, MN",PR-103-2009,26-Jun-09,$87.60 ,$69.40 ,"Stearns Bank National Association, St. Cloud, Minnesota, has agreed to assume all deposits, excluding certain brokered deposits." +"Neighborhood Community Bank, Newnan, GA",PR-102-2009,26-Jun-09,$221.60 ,$191.30 ,"CharterBank, West Point, GA, has agreed to assume all deposits." +"Community Bank of West Georgia, Villa Rica, GA",PR-101-2009,26-Jun-09,$199.40 ,$182.50 ,The FDIC has approved the payout of the insured deposits of Community Bank of West Georgia. +"Cooperative Bank, Wilmington, NC",PR-95-2009,19-Jun-09,$970.00 ,$774.00 ,"First Bank, Troy, NC, has agreed to assume all deposits, excluding certain brokered deposits." +"Southern Community Bank, Fayetteville, GA",PR-94-2009,19-Jun-09,$377.00 ,$307.00 ,"United Community Bank, Blairsville, GA, has agreed to assume all deposits." +"First National Bank of Anthony, Anthony, KS",PR-096-2009,19-Jun-09,$156.90 ,$142.50 ,"Bank of Kansas, South Hutchinson, Kansas, has agreed to assume all deposits." +"Bank of Lincolnwood, Lincolnwood, IL",PR-86-2009,5-Jun-09,$214.00 ,$202.00 ,"Republic Bank of Chicago, Oak Brook, Illinois, has agreed to assume all deposits." +"Citizens National Bank, Macomb, IL",PR-76-2009,22-May-09,$437.00 ,$400.00 ,"Morton Community Bank, Morton, IL, has agreed to assume all non-brokered deposits." +"Strategic Capital Bank, Champaign, IL",PR-75-2009,22-May-09,$537.00 ,$471.00 ,"Midland States Bank, Effingham, IL, has agreed to assume all deposits." +"BankUnited, FSB, Coral Gables, FL",PR-72-2009,21-May-09,"$12,800.00 ","$8,600.00 ","BankUnited, Coral Gables, FL, has agreed to assume all deposits." +"Westsound Bank, Bremerton, WA",PR-069-2009,8-May-09,$334.60 ,$304.50 ,"Kitsap Bank, Port Orchard, WA, has agreed to assume all non-brokered deposits." +"America West Bank, Layton, UT",PR-63-2009,1-May-09,$299.40 ,$284.10 ,"Cache Valley Bank, Logan, Utah, has agreed to assume all deposits." +"Citizens Community Bank, Ridgewood, NJ",PR-62-2009,1-May-09,$45.10 ,$43.70 ,"North Jersey Community Bank, Englewood Cliffs, NJ, has agreed to assume all deposits." +"Silverton Bank, National Association, Atlanta, GA",PR-61-2009,1-May-09,"$4,100.00 ","$3,300.00 ","The FDIC created a bridge bank, Silverton Bridge Bank, National Association, to take over operations." +"First Bank of Idaho, Ketchum, ID",PR-60-2009,24-Apr-09,$488.90 ,$374.00 ,"U.S. Bank, National Association, Minneapolis, MN, has agreed to assume all non-brokered deposits." +"First Bank of Beverly Hills, Calabasas, CA",PR-59-2009,24-Apr-09,"$1,500.00 ","$1,000.00 ",The FDIC has approved the payout of the insured deposits of First Bank of Beverly Hills. +"Michigan Heritage Bank, Farmington Hills, MI",PR-58-2009,24-Apr-09,$184.60 ,$151.70 ,"Level One Bank, Farmington Hills, MI, has agreed to assume all deposits." +"American Southern Bank, Kennesaw, GA",PR-57-2009,24-Apr-09,$112.30 ,$104.30 ,"Bank of North Georgia, Alpharetta, GA, has agreed to assume all non-brokered deposits." +"Great Basin Bank of Nevada, Elko, NV",PR-55-2009,17-Apr-09,$270.90 ,$221.40 ,"Nevada State Bank, Las Vegas, NV, has agreed to assume all deposits." +"American Sterling Bank, Sugar Creek, MO",PR-54-2009,17-Apr-09,$181.00 ,$171.90 ,"Metcalf Bank, Lee's Summit, Missouri, has agreed to assume all deposits." +"New Frontier Bank, Greeley, CO",PR-53-2009,10-Apr-09,"$2,000.00 ","$1,500.00 ","Deposit Insurance National Bank of Greeley, Greeley, Colorado has agreed to assume the non-brokered insured deposits." +"Cape Fear Bank, Wilmington, NC",PR-52-2009,10-Apr-09,$492.00 ,$403.00 ,"First Federal Savings and Loan Association, Charleston, South Carolina, has agreed to assume all deposits, excluding certain brokered deposits." +"Omni National Bank, Atlanta, GA",PR-50-2009,27-Mar-09,$956.00 ,$796.80 ,"SunTrust Bank, Atlanta, GA has agreed to assume the non-brokered insured deposits." +"TeamBank, National Association, Paola, KS",PR-46-2009,20-Mar-09,$669.80 ,$492.80 ,"Great Southern Bank, Springfield, Missouri, has agreed to assume all deposits." +"FirstCity Bank, Stockbridge, GA",PR-44-2009,20-Mar-09,$297.00 ,$278.00 ,The FDIC has approved the payout of the insured deposits of FirstCity Bank. +"Colorado National Bank, Colorado Springs, CO",PR-045-2009,20-Mar-09,$123.50 ,$82.70 ,"Herring Bank, Amarillo, TX has agreed to assume all deposits." +"Freedom Bank of Georgia, Commerce, GA",PR-37-2009,6-Mar-09,$173.00 ,$161.00 ,"Northeast Georgia Bank, Lavonia, Georgia has agreed to assume all deposits." +"Security Savings Bank, Henderson, NV",PR-32-2009,27-Feb-09,$238.30 ,$175.20 ,"Bank of Nevada, Las Vegas, NV has agreed to assume all non-brokered deposits." +"Heritage Community Bank, Glenwood, IL",PR-031-2009,27-Feb-09,$232.90 ,$218.60 ,"The MB Financial Bank, National Association, Chicago, Illinois has agreed to assume all deposits." +"Silver Falls Bank, Silverton, OR",PR-24-2009,20-Feb-09,$131.40 ,$116.30 ,"Citizens Bank, Corvallis, Oregon has agreed to assume all deposits." +"Pinnacle Bank, Beaverton, OR",PR-23-2009,13-Feb-09,$73.00 ,$64.00 ,"Washington Trust Bank, Spokane, WA has agreed to assume all deposits." +"Corn Belt Bank and Trust Company, Pittsfield, IL",PR-22-2009,13-Feb-09,$271.80 ,$234.40 ,"The Carlinville National Bank, Carlinville, Illinois has agreed to assume all non-brokered deposits." +"Riverside Bank of the Gulf Coast, Cape Coral, FL",PR-21-2009,13-Feb-09,$539.00 ,$424.00 ,"TIB Bank, Naples, Florida has agreed to assume all non-brokered deposits." +"Sherman County Bank, Loup City, NE",PR-020-2009,13-Feb-09,$129.80 ,$85.10 ,"Heritage Bank, Wood River, NE has agreed to assume all deposits." +"County Bank, Merced, CA",PR-19-2009,6-Feb-09,"$1,700.00 ","$1,300.00 ","Westamerica Bank, San Rafael, CA has agreed to assume all deposits." +"Alliance Bank, Culver City, CA",PR-18-2009,6-Feb-09,"$1,140.00 ",$951.00 ,"California Bank & Trust, San Diego, California has agreed to assume all deposits." +"FirstBank Financial Services, McDonough, GA",PR-17-2009,6-Feb-09,$337.00 ,$279.00 ,"Regions Bank, Birmingham, Alabama has agreed to assume all deposits." +"Ocala National Bank, Ocala, FL",PR-14-2009,30-Jan-09,$223.50 ,$205.20 ,"CenterState Bank of Florida, Winter Haven, FL has agreed to assume all non-brokered deposits." +"Suburban Federal Savings Bank, Crofton, MD",PR-13-2009,30-Jan-09,$360.00 ,$302.00 ,"Bank of Essex, Tappahannock, VA has agreed to assume all deposits." +"MagnetBank, Salt Lake City, UT",PR-12-2009,30-Jan-09,$292.90 ,$282.80 ,The FDIC has approved the payout of the insured deposits of MagnetBank. +"1st Centennial Bank, Redlands, CA",PR-7-2009,23-Jan-09,$803.30 ,$676.90 ,"First California Bank, Westlake Village, CA has agreed to assume the non-brokered insured deposits." +"Bank of Clark County, Vancouver, WA",PR-6-2009,16-Jan-09,$446.50 ,$366.50 ,"Umpqua Bank, Roseburg, Oregon has agreed to assume the non-brokered insured deposits." +"National Bank of Commerce, Berkeley, IL",PR-5-2009,16-Jan-09,$430.90 ,$402.10 ,"In addition to assuming all of the failed bank's deposits, Republic Bank of Chicago, Oak Brook, IL agreed to pay a discount of $44.9 million, and will purchase approximately $366.6 million of assets. The FDIC will retain the remaining assets for later disposition." +"Sanderson State Bank, Sanderson, TX",PR-135-2008,12-Dec-08,$37.00 ,$27.90 ,"Pecos County State Bank, Fort Stockton, TX assumed all deposits." +"Haven Trust Bank, Duluth, GA",PR-134-2008,12-Dec-08,$572.00 ,$515.00 ,"Branch Banking and Trust Company, Winston-Salem, NC assumed all deposits." +"First Georgia Community Bank, Jackson, GA",PR-132-2008,5-Dec-08,$237.50 ,$197.40 ,"United Bank, Zebulon, GA assumed all deposits." +"PFF Bank and Trust, Pomona, CA",PR-124-2008,21-Nov-08,"$3,700.00 ","$2,400.00 ","In a transaction facilitated by the FDIC, U.S. Bank, National Association, acquired the banking operations of PFF Bank and Trust, and agreed to assume all deposits." +"Downey Savings and Loan Association, F.A., Newport Beach, CA",PR-124-2008,21-Nov-08,"$12,800.00 ","$9,700.00 ","In a transaction facilitated by the FDIC, U.S. Bank, National Association, acquired the banking operations of Downey Savings and Loan Association, and agreed to assume all deposits." +"Community Bank, Loganville, GA",PR-123-2008,21-Nov-08,$681.00 ,$611.40 ,"Bank of Essex, Tappahannock, VA agreed to assume all deposits." +"Security Pacific Bank, Los Angeles, CA",PR-114-2008,7-Nov-08,$561.10 ,$450.10 ,"Pacific Western Bank, Los Angeles, California agreed to assume all deposits." +"Franklin Bank, SSB, Houston, TX",PR-113-2008,7-Nov-08,"$5,100.00 ","$3,700.00 ","Prosperity Bank, El Campo, TX agreed to assume all deposits." +"Freedom Bank, Bradenton, FL",PR-109-2008,31-Oct-08,$287.00 ,$254.00 ,"Fifth Third Bank of Grand Rapids, MI agreed to assume all deposits." +"Alpha Bank & Trust, Alpharetta, GA",PR-106-2008,24-Oct-08,$354.10 ,$346.20 ,"Stearns Bank National Association, St. Cloud, MN agreed to assume the non-brokered insured deposits." +"Meridian Bank, Eldred, IL",PR-99-2008,10-Oct-08,$39.20 ,$36.90 ,"National Bank of Hillsboro, IL assumed all deposits." +"Main Street Bank, Northville, MI",PR-98-2008,10-Oct-08,$98.00 ,$86.00 ,"Monroe Bank & Trust of Monroe, MI agreed to assume all deposits." +"Washington Mutual Bank, Henderson, NV ",PR-85-2008,25-Sep-08,"$307,000.00 ","$188,000.00 ","In a transaction facilitated by the FDIC, JPMorgan Chase acquired the banking operations of Washington Mutual Bank, and agreed to assume all deposits (approximately $188 billion)." +"Ameribank, Inc., Northfork, WV",PR-82-2008,19-Sep-08,$115.00 ,$102.00 ,"Pioneer Community Bank, Inc., Iaeger, West Virginia agreed to assume all deposits at Ameribank's WV branches; The Citizens Savings Bank, Martins Ferry, OH agreed to assume all deposits at Ameribank's Ohio branches." +"Silver State Bank, Henderson, NV",PR-77-2008,5-Sep-08,"$2,000.00 ","$1,700.00 ","Nevada State Bank, Las Vegas, NV agreed to assume the non-brokered insured deposits." +"Integrity Bank, Alpharetta, GA",PR-74-2008,29-Aug-08,"$1,100.00 ",$974.00 ,"Regions Bank, Birmingham, AL agreed to assume all deposits." +"Columbian Bank and Trust, Topeka, KS",PR-69-2008,22-Aug-08,$752.00 ,$622.00 ,"Citizens Bank and Trust Company, Chillicothe, MO agreed to assume all deposits." +"First Priority Bank, Bradenton, FL",PR-65-2008,1-Aug-08,$259.00 ,$227.00 ,"SunTrust Bank, Atlanta, GA agreed to assume the non-brokered insured deposits." +"First National Bank of Nevada, Reno, NV",PR-63-2008,25-Jul-08,"$3,400.00 ","$3,000.00 ","Mutual of Omaha Bank, Omaha, Nebraska agreed to assume all deposits (approximately $3.0 billion). On June 30, 2008, First National Bank of Arizona, Scottsdale, Arizona, merged with First National Bank of Nevada and was included in this action." +"First Heritage Bank National Association, Newport Beach, CA",PR-63-2008,25-Jul-08,$254.00 ,$233.00 ,"Mutual of Omaha Bank, Omaha, NE agreed to assume all deposits (approximately $233 million)." +"IndyMac Bank, F.S.B., Pasadena, CA",PR-56-2008; PR-42-2009,11-Jul-08,"$32,010.00 ","$19,060.00 ","Non-brokered insured deposits and substantially all of the assets were transferred to IndyMac Federal Bank, F.S.B., Pasadena, California. The FDIC was named Conservator." +"First Integrity Bank, National Association, Staples, MN",PR-41-2008,30-May-08,$54.70 ,$50.30 ,"First International Bank and Trust, Watford City, ND agreed to assume all deposits." +"ANB Financial, National Association, Bentonville, AR",PR-33-2008,9-May-08,"$2,100.00 ","$1,800.00 ","Pulaski Bank and Trust Company, Little Rock, AR agreed to assume the non-brokered insured deposits (approximately $212.9 million)." +"Hume Bank, Hume, MO",PR-21-2008,7-Mar-08,$18.70 ,$13.60 ,"Security Bank, Rich Hill, MO agreed to assume the insured deposits (approximately $12.5 million)." +"Douglass National Bank, Kansas City, MO",PR-7-2008,25-Jan-08,$58.50 ,$53.80 ,"Liberty Bank and Trust Company of New Orleans, LA agreed to assume all deposits (approximately $53.8 million)." +"Miami Valley Bank, Lakeview, OH",PR-83-2007,4-Oct-07,$86.70 ,$76.00 ,"The Citizens Banking Company, Sandusky, OH agreed to assume all deposits." +"NetBank, Alpharetta, GA",PR-81-2007,28-Sep-07,"$2,500.00 ","$2,300.00 ","ING Bank, fsb (ING DIRECT) has agreed to assume $1.5 billion of the failed bank's insured non-brokered deposits." +"Metropolitan Savings, Pittsburgh, PA",PR-9-2007,2-Feb-07,$15.80 ,$12.00 ,"Allegheny Valley Bank of Pittsburgh, PA has agreed to assume approximately $12.0 million of insured deposits." +"Bank of Ephraim, Ephraim, UT",PR-69-2004,25-Jun-04,$46.40 ,$45.20 ,"Far West Bank, Provo, UT agreed to assume all deposits. (BIF)" +"Reliance Bank, White Plains, NY",PR-24-2004,19-Mar-04,$30.30 ,$28.00 ,"Union State Bank, Orangeburg, NY agreed to assume all deposits. (BIF)" +"Guaranty National Bank of Tallahassee, Tallahassee, FL",PR-23-2004; PR-21-2004,12-Mar-04,$74.10 ,$66.90 ,"Hancock Bank of Florida, Tallahassee, FL agreed to assume all deposits. (BIF)" +"Dollar Savings Bank of Newark, NJ",PR-13-2004,14-Feb-04,$12.30 ,$9.80 ,The FDIC has approved the payout of the insured deposits of Dollar Savings Bank of Newark. (SAIF) +"Pulaski Savings Bank, Philadelphia, PA",PR-107-2003,14-Nov-03,$10.20 ,$9.20 ,"Earthstar Bank, South Hampton, PA agreed to assume all deposits. (BIF)" +"First National Bank of Blanchardville, Blanchardville, WI",PR-48-2003; PR-47-2003,9-May-03,$35.00 ,$29.00 ,"The Park Bank, Madison, WI agreed to assume all deposits. (BIF)" +"Southern Pacific Bank, Torrance, CA",PR-11-2003,7-Feb-03,"$1,000.00 ",$864.70 ,"Beal Bank of Plano, TX agreed to assume all deposits. (BIF)" +"Farmers Bank & Trust of Cheneyville, Cheneyville, LA",PR-131-2002,17-Dec-02,$37.00 ,$33.10 ,"Sabine State Bank and Trust Company, Many, LA agreed to assume all deposits.(BIF)" +"Bank of Alamo, Alamo, TN",PR-120-2002,8-Nov-02,$69.40 ,$55.30 ,The FDIC has approved the payout of the insured deposits of Bank of Alamo. (BIF) +"AmTrade International Bank, Atlanta, GA",PR-100-2002,30-Sep-02,$12.00 ,$10.20 ,The FDIC has approved the payout of the insured deposits of AmTrade International Bank. (BIF) +"Universal Federal Savings Bank, Chicago, IL",PR-81-2002; PR-76-2002,27-Jun-02,$51.60 ,$40.00 ,"Chicago Community Bank, Chicago, IL agreed to assume all deposits. (SAIF)" +"Connecticut Bank of Commerce, Stamford, CT",PR-80-2002; PR-74-2002,26-Jun-02,$398.60 ,$323.70 ,"Hudson United Bank, Mahwah, NJ agreed to assume all deposits. (BIF)" +"New Century Bank, Shelby Township, MI",PR-38-2002,28-Mar-02,$19.00 ,$18.00 ,The FDIC has approved the payout of the insured deposits of New Century Bank. (BIF) +"Net 1st National Bank, Boca Raton, FL",PR-26-2002,1-Mar-02,$34.70 ,$23.90 ,"Bank Leumi USA of New York, NY agreed to assume all deposits. (BIF)" +"NextBank, National Association, Phoenix, AZ",PR-16-2002,7-Feb-02,$700.00 ,$554.00 ,"The FDIC has approved the payout of the insured deposits of NextBank, N.A. (BIF)" +"Oakwood Deposit Bank Company, Oakwood, OH",PR-11-2002; PR-10-2002,1-Feb-02,$72.30 ,$60.20 ,"The State Bank and Trust Company of Defiance, OH agreed to assume all deposits. (BIF)" +"Bank of Sierra Blanca, Sierra Blanca, Texas",PR-5-2002,18-Jan-02,$10.80 ,$9.80 ,"The Security State Bank of Pecos, Pecos, TX greed to assume all deposits. (BIF)" +"Hamilton Bank, National Association, Miami, FL",PR-3-2002,11-Jan-02,"$1,300.00 ","$1,200.00 ","Israel Discount Bank of New York, New York, NY greed to assume all deposits. (BIF)" +"Sinclair National Bank, Gravette, AR",PR-63-2001,7-Sep-01,$30.70 ,$25.70 ,"Delta Trust and Bank, Parkdale, AR agreed to assume all insured deposits. (BIF)" +"Superior Bank, FSB, Hinsdale, IL",PR-52-2001,27-Jul-01,"$2,300.00 ","$1,600.00 ","The Federal Deposit Insurance Corporation today transferred the insured deposits and substantially all the assets of Superior Bank, FSB, Hinsdale, IL, to Superior Federal, FSB (New Superior), a newly chartered, full-service mutual savings bank. The bank was closed earlier today by the Office of Thrift Supervision, and the FDIC was named conservator. (SAIF)" +"The Malta National Bank, Malta, OH",PR-32-2001,3-May-01,$9.50 ,$8.80 ,"North Valley Bank, Zanesville, OH agreed to assume all deposits. (BIF)" +"First Alliance Bank & Trust Company, Manchester, NH",PR-11-2001,2-Feb-01,$18.40 ,$17.50 ,"Southern New Hampshire Bank and Trust Company, Salem, NH agreed to assume all deposits." diff --git a/test/output/tooltipDotColor.svg b/test/output/tooltipDotColor.svg index 7ccb2f5e38..83f2679c46 100644 --- a/test/output/tooltipDotColor.svg +++ b/test/output/tooltipDotColor.svg @@ -417,6 +417,6 @@ - + \ No newline at end of file diff --git a/test/output/tooltipDotDodge.svg b/test/output/tooltipDotDodge.svg new file mode 100644 index 0000000000..90831d5c82 --- /dev/null +++ b/test/output/tooltipDotDodge.svg @@ -0,0 +1,659 @@ + + + + + + + + + + + + + + + + + 2002 + 2004 + 2006 + 2008 + 2010 + 2012 + 2014 + 2016 + 2018 + 2020 + 2022 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WashingtonMutualBank307B + FirstRepublicBank229B + SiliconValleyBank209B + SignatureBank110B + IndyMacBank32B + ColonialBank25B + GuarantyBank13B + 12.8 + 12.8 + 12.0 + 11.9 + 11.2 + 7.8 + 7.0 + 6.1 + 5.9 + 5.9 + 5.1 + 4.7 + 4.7 + 4.1 + 4.0 + 3.8 + 3.7 + 3.6 + 3.6 + 3.5 + 3.4 + 3.4 + 3.2 + 3.1 + 3.0 + 2.8 + 2.7 + 2.7 + 2.6 + 2.5 + 2.3 + 2.3 + 2.3 + 2.2 + 2.2 + 2.2 + 2.1 + 2.0 + + + + + + \ No newline at end of file diff --git a/test/output/tooltipDotFacets.svg b/test/output/tooltipDotFacets.svg index 63f2f77d54..febfe0d8ed 100644 --- a/test/output/tooltipDotFacets.svg +++ b/test/output/tooltipDotFacets.svg @@ -11206,6 +11206,6 @@ - + \ No newline at end of file diff --git a/test/output/tooltipLineColor.svg b/test/output/tooltipLineColor.svg index ac3bcc46d0..4ee572fcd7 100644 --- a/test/output/tooltipLineColor.svg +++ b/test/output/tooltipLineColor.svg @@ -1347,6 +1347,6 @@ - + \ No newline at end of file diff --git a/test/plots/tooltip.ts b/test/plots/tooltip.ts index e51debcbf9..1f61e96f9e 100644 --- a/test/plots/tooltip.ts +++ b/test/plots/tooltip.ts @@ -12,6 +12,68 @@ export async function tooltipDotColor() { }); } +export async function tooltipDotDodge() { + const parseDate = d3.utcParse("%d-%b-%y"); + const parseAssets = (x) => parseFloat(x.replace(/[^\d.]/g, "")); + const fails = d3 + .csvParseRows(await d3.text("data/bfd.csv")) + .slice(1, -2) + .map((d) => ({ + "Bank Name": d[0].split(", ")[0], + "City, State": d[0].split(", ").slice(1).join(", "), + Date: parseDate(d[2]), + Assets: parseAssets(d[3]), + Acquirer: d[5] + })); + return Plot.plot({ + width: 1152, + height: 680, + insetLeft: 10, + insetRight: 60, + r: {range: [0, 80]}, + marks: [ + Plot.frame({anchor: "bottom"}), + Plot.dot( + fails, + Plot.dodgeY({ + padding: 2, + x: "Date", + r: "Assets", + fill: "#ddd", + stroke: "#000", + strokeWidth: 1 + }) + ), + Plot.text( + fails, + Plot.filter( + (d) => d.Assets > 2000, + Plot.dodgeY({ + padding: 2, + x: "Date", + r: "Assets", + lineWidth: 5, + text: (d) => + d.Assets > 12900 + ? `${d["Bank Name"]}\n${(d["Assets"] / 1000).toFixed(0)}B` + : `${(d["Assets"] / 1000).toFixed(1)}`, + fill: "#000", + stroke: "#ddd" + }) + ) + ), + Plot.tooltip( + fails, + Plot.dodgeY({ + padding: 2, + x: "Date", + r: "Assets" + }) + ) + ] + }); +} + export async function tooltipDotFacets() { const athletes = await d3.csv("data/athletes.csv", d3.autoType); return Plot.plot({ From 7812b1b168334c97393661ad5d9c09d2149ba34e Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Tue, 2 May 2023 21:52:37 -0700 Subject: [PATCH 09/35] dodge fixes --- src/marks/tooltip.js | 4 +++- src/transforms/dodge.js | 11 ++++++----- test/plots/tooltip.ts | 3 ++- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index f8f7767de6..a73214b76e 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -71,7 +71,9 @@ export class Tooltip extends Mark { dot.attr("transform", `translate(${Math.round(xi)},${Math.round(yi)})`); const text = []; for (const key in channels) { - const channel = channels[key]; + let channel = channels[key]; + while (channel.source) channel = channel.source; + if (channel.source === null) continue; // e.g., dodgeY’s y const label = scales[channel.scale]?.label ?? key; text.push([label, formatDefault(channel.value[i])]); } diff --git a/src/transforms/dodge.js b/src/transforms/dodge.js index 06020c3de6..3f9b6a267a 100644 --- a/src/transforms/dodge.js +++ b/src/transforms/dodge.js @@ -61,8 +61,9 @@ function mergeOptions(options) { function dodge(y, x, anchor, padding, r, options) { if (r != null && typeof r !== "number") { - const {channels, sort, reverse} = options; - options = {...options, channels: {r: {value: r, scale: "r"}, ...maybeNamed(channels)}}; + let {channels, sort, reverse} = options; + channels = maybeNamed(channels); + if (channels?.r === undefined) options = {...options, channels: {...channels, r: {value: r, scale: "r"}}}; if (sort === undefined && reverse === undefined) options.sort = {channel: "r", order: "descending"}; } return initializer(options, function (data, facets, channels, scales, dimensions, context) { @@ -127,9 +128,9 @@ function dodge(y, x, anchor, padding, r, options) { data, facets, channels: { - [x]: {value: X}, - [y]: {value: Y}, - ...(R && {r: {value: R}}) + [y]: {value: Y, source: null}, // don’t show in tooltip + [x]: {value: X, source: channels[x]}, + ...(R && {r: {value: R, source: channels.r}}) } }; }); diff --git a/test/plots/tooltip.ts b/test/plots/tooltip.ts index 1f61e96f9e..01c1b6dc0b 100644 --- a/test/plots/tooltip.ts +++ b/test/plots/tooltip.ts @@ -67,7 +67,8 @@ export async function tooltipDotDodge() { Plot.dodgeY({ padding: 2, x: "Date", - r: "Assets" + r: "Assets", + channels: {Name: {value: "Bank Name"}} }) ) ] From c5ac53240b74638607cd94c92d2e71953599a5f7 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Wed, 3 May 2023 13:50:57 -0700 Subject: [PATCH 10/35] zwsp --- src/marks/tooltip.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index a73214b76e..469d7484cc 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -89,7 +89,7 @@ export class Tooltip extends Mark { .data((d) => d) .join("tspan") .attr("font-weight", (d, i) => (i ? null : "bold")) - .text((d, i) => (i ? ` ${d}` : String(d))); + .text((d, i) => (i ? ` ${d}\u200b` : String(d))); // zws for double-click const {width, height} = content.node().getBBox(); const w = width + r * 2; const h = height + r * 2; From b2e790c74de6ae548f035502ff934b1e101b4703 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Wed, 3 May 2023 14:11:05 -0700 Subject: [PATCH 11/35] click to stick! --- src/marks/tooltip.js | 19 +++++++++++++++++-- test/output/tooltipDotColor.svg | 2 +- test/output/tooltipDotDodge.svg | 2 +- test/output/tooltipDotFacets.svg | 2 +- test/output/tooltipLineColor.svg | 2 +- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 469d7484cc..8ad15ed69e 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -43,9 +43,13 @@ export class Tooltip extends Mark { const dy = 12; // offsetTop const foreground = "black"; const background = "white"; + let i; // currently-focused index + let sticky = false; const dot = select(svg) .on("pointermove", (event) => { - let i, xi, yi, fxi, fyi; + if (sticky) return; + i = undefined; + let xi, yi, fxi, fyi; if (event.buttons === 0) { const [xp, yp] = pointer(event); let ri = maxRadius * maxRadius; @@ -96,9 +100,20 @@ export class Tooltip extends Mark { path.attr("d", `M${dx},${dy}v${-dy}l${dy},${dy}h${w - dy}v${h}h${-w}z`); } }) - .on("pointerdown pointerleave", () => dot.attr("display", "none")) + .on("pointerdown", () => { + if (sticky) { + sticky = false; + dot.attr("display", "none"); + dot.attr("pointer-events", "none"); + } else if (i !== undefined) { + sticky = true; + dot.attr("pointer-events", "all"); + } + }) + .on("pointerleave", () => sticky || dot.attr("display", "none")) .append("g") .attr("aria-label", "tooltip") + .attr("pointer-events", "none") // initially not sticky .attr("display", "none"); const path = dot .append("path") diff --git a/test/output/tooltipDotColor.svg b/test/output/tooltipDotColor.svg index 83f2679c46..d5e89cfeac 100644 --- a/test/output/tooltipDotColor.svg +++ b/test/output/tooltipDotColor.svg @@ -415,7 +415,7 @@ - + diff --git a/test/output/tooltipDotDodge.svg b/test/output/tooltipDotDodge.svg index 90831d5c82..372eee597f 100644 --- a/test/output/tooltipDotDodge.svg +++ b/test/output/tooltipDotDodge.svg @@ -652,7 +652,7 @@ 2.1 2.0 - + diff --git a/test/output/tooltipDotFacets.svg b/test/output/tooltipDotFacets.svg index febfe0d8ed..1746f14174 100644 --- a/test/output/tooltipDotFacets.svg +++ b/test/output/tooltipDotFacets.svg @@ -11204,7 +11204,7 @@ - + diff --git a/test/output/tooltipLineColor.svg b/test/output/tooltipLineColor.svg index 4ee572fcd7..2e9b8320eb 100644 --- a/test/output/tooltipLineColor.svg +++ b/test/output/tooltipLineColor.svg @@ -1345,7 +1345,7 @@ - + From 04408773af8871caef62110167e8c75d88f6119b Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Wed, 3 May 2023 14:55:19 -0700 Subject: [PATCH 12/35] four corners --- src/marks/tooltip.js | 46 +++++++++++++++++++++++++------- test/output/tooltipDotColor.svg | 2 +- test/output/tooltipDotDodge.svg | 2 +- test/output/tooltipDotFacets.svg | 2 +- test/output/tooltipLineColor.svg | 2 +- 5 files changed, 40 insertions(+), 14 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 8ad15ed69e..9a369bb3bd 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -41,15 +41,15 @@ export class Tooltip extends Mark { const r = 8; // padding const dx = 0; // offsetLeft const dy = 12; // offsetTop + const corner = "top-left"; // top-left, top-right, bottom-left, bottom-right const foreground = "black"; const background = "white"; - let i; // currently-focused index + let i, xi, yi; // currently-focused index and position let sticky = false; const dot = select(svg) .on("pointermove", (event) => { if (sticky) return; - i = undefined; - let xi, yi, fxi, fyi; + let ii, fxi, fyi; if (event.buttons === 0) { const [xp, yp] = pointer(event); let ri = maxRadius * maxRadius; @@ -64,10 +64,12 @@ export class Tooltip extends Mark { const dx = xj - xp; const dy = yj - yp; const rj = dx * dx + dy * dy; - if (rj <= ri) (i = j), (ri = rj), (xi = xj), (yi = yj), (fxi = fxj), (fyi = fyj); + if (rj <= ri) (ii = j), (ri = rj), (xi = xj), (yi = yj), (fxi = fxj), (fyi = fyj); } } } + if (i === ii) return; + i = ii; if (i === undefined) { dot.attr("display", "none"); } else { @@ -83,21 +85,21 @@ export class Tooltip extends Mark { } if (fxv != null) text.push([fx.label ?? "fx", formatFx(fxi)]); if (fyv != null) text.push([fy.label ?? "fy", formatFy(fyi)]); + const oy = getLineOffset(corner, text); content .selectChildren() .data(text) .join("tspan") .attr("x", 0) - .attr("y", (d, i) => `${i + 0.9}em`) + .attr("y", (d, i) => `${i + oy}em`) .selectChildren() .data((d) => d) .join("tspan") .attr("font-weight", (d, i) => (i ? null : "bold")) - .text((d, i) => (i ? ` ${d}\u200b` : String(d))); // zws for double-click + .text((d, i) => (i ? ` ${d}\u200b` : String(d))); // zwsp for double-click const {width, height} = content.node().getBBox(); - const w = width + r * 2; - const h = height + r * 2; - path.attr("d", `M${dx},${dy}v${-dy}l${dy},${dy}h${w - dy}v${h}h${-w}z`); + path.attr("d", getPath(corner, dx, dy, r, width, height)); + content.attr("transform", getTextTransform(corner, dx, dy, r, width)); } }) .on("pointerdown", () => { @@ -123,7 +125,6 @@ export class Tooltip extends Mark { .on("pointerdown pointermove", (event) => event.stopPropagation()); const content = dot .append("text") - .attr("transform", `translate(${dx + r},${dy + r})`) .attr("text-anchor", "start") .attr("fill", foreground) .on("pointerdown pointermove", (event) => event.stopPropagation()); @@ -135,3 +136,28 @@ export function tooltip(data, {x, y, ...options} = {}) { if (options.frameAnchor === undefined) [x, y] = maybeTuple(x, y); return new Tooltip(data, {...options, x, y}); } + +function getLineOffset(corner, text) { + return /^top-/.test(corner) ? 0.9 : 0.8 - text.length; +} + +function getTextTransform(corner, dx, dy, r, width) { + const x = /-left$/.test(corner) ? dx + r : -width - dx - r; + const y = /^top-/.test(corner) ? dy + r : -dy - r; + return `translate(${x},${y})`; +} + +function getPath(corner, dx, dy, r, width, height) { + const w = width + r * 2; + const h = height + r * 2; + switch (corner) { + case "top-left": + return `M0,0l${dy},${dy}h${w - dy}v${h}h${-w}z`; + case "top-right": + return `M0,0l${-dy},${dy}h${dy - w}v${h}h${w}z`; + case "bottom-left": + return `M0,0l${dy},${-dy}h${w - dy}v${-h}h${-w}z`; + case "bottom-right": + return `M0,0l${-dy},${-dy}h${dy - w}v${-h}h${w}z`; + } +} diff --git a/test/output/tooltipDotColor.svg b/test/output/tooltipDotColor.svg index d5e89cfeac..5d7a706e3e 100644 --- a/test/output/tooltipDotColor.svg +++ b/test/output/tooltipDotColor.svg @@ -417,6 +417,6 @@ - + \ No newline at end of file diff --git a/test/output/tooltipDotDodge.svg b/test/output/tooltipDotDodge.svg index 372eee597f..d53f5d9b18 100644 --- a/test/output/tooltipDotDodge.svg +++ b/test/output/tooltipDotDodge.svg @@ -654,6 +654,6 @@ - + \ No newline at end of file diff --git a/test/output/tooltipDotFacets.svg b/test/output/tooltipDotFacets.svg index 1746f14174..ab2dec525d 100644 --- a/test/output/tooltipDotFacets.svg +++ b/test/output/tooltipDotFacets.svg @@ -11206,6 +11206,6 @@ - + \ No newline at end of file diff --git a/test/output/tooltipLineColor.svg b/test/output/tooltipLineColor.svg index 2e9b8320eb..09a1d2ec19 100644 --- a/test/output/tooltipLineColor.svg +++ b/test/output/tooltipLineColor.svg @@ -1347,6 +1347,6 @@ - + \ No newline at end of file From ba0c986c14af0a26c862137844c43ac34d63f88d Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Wed, 3 May 2023 15:23:59 -0700 Subject: [PATCH 13/35] multi-line test --- src/marks/tooltip.js | 8 ++- test/output/tooltipMultiLine.svg | 114 +++++++++++++++++++++++++++++++ test/plots/tooltip.ts | 11 +++ 3 files changed, 130 insertions(+), 3 deletions(-) create mode 100644 test/output/tooltipMultiLine.svg diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 9a369bb3bd..d32c22684f 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -44,6 +44,8 @@ export class Tooltip extends Mark { const corner = "top-left"; // top-left, top-right, bottom-left, bottom-right const foreground = "black"; const background = "white"; + const kx = 1, + ky = 1; // TODO one-dimensional bias let i, xi, yi; // currently-focused index and position let sticky = false; const dot = select(svg) @@ -52,7 +54,7 @@ export class Tooltip extends Mark { let ii, fxi, fyi; if (event.buttons === 0) { const [xp, yp] = pointer(event); - let ri = maxRadius * maxRadius; + let ri = kx * ky * kx * ky * maxRadius * maxRadius; for (const index of indexes) { const fxj = index.fx; const fyj = index.fy; @@ -61,8 +63,8 @@ export class Tooltip extends Mark { for (const j of index) { const xj = (X ? X[j] : cx) + oxj; const yj = (Y ? Y[j] : cy) + oyj; - const dx = xj - xp; - const dy = yj - yp; + const dx = kx * (xj - xp); + const dy = ky * (yj - yp); const rj = dx * dx + dy * dy; if (rj <= ri) (ii = j), (ri = rj), (xi = xj), (yi = yj), (fxi = fxj), (fyi = fyj); } diff --git a/test/output/tooltipMultiLine.svg b/test/output/tooltipMultiLine.svg new file mode 100644 index 0000000000..bb67754741 --- /dev/null +++ b/test/output/tooltipMultiLine.svg @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + 0 + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + + + ↑ unemployment + + + + + + + + + + + + 2000 + 2002 + 2004 + 2006 + 2008 + 2010 + 2012 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/plots/tooltip.ts b/test/plots/tooltip.ts index 01c1b6dc0b..f9e8fcad91 100644 --- a/test/plots/tooltip.ts +++ b/test/plots/tooltip.ts @@ -109,3 +109,14 @@ export async function tooltipLineColor() { ] }); } + +export async function tooltipMultiLine() { + const bls = await d3.csv("data/bls-metro-unemployment.csv", d3.autoType); + return Plot.plot({ + marks: [ + Plot.lineY(bls, {x: "date", y: "unemployment", z: "division"}), + Plot.ruleY([0]), + Plot.tooltip(bls, {x: "date", y: "unemployment", channels: {division: {value: "division"}}}) + ] + }); +} From 4b6563759164c27ab66bd3eb062e3a4545edff33 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Wed, 3 May 2023 20:26:19 -0700 Subject: [PATCH 14/35] preferred corner --- src/marks/tooltip.js | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index d32c22684f..309785babe 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -1,7 +1,7 @@ import {pointer, select} from "d3"; import {formatDefault} from "../format.js"; import {Mark} from "../mark.js"; -import {maybeFrameAnchor, maybeTuple} from "../options.js"; +import {keyword, maybeFrameAnchor, maybeTuple} from "../options.js"; import {applyFrameAnchor} from "../style.js"; import {inferTickFormat} from "./axis.js"; @@ -13,7 +13,7 @@ const defaults = { export class Tooltip extends Mark { constructor(data, options = {}) { - const {x, y, maxRadius = 40, frameAnchor} = options; + const {x, y, maxRadius = 40, corner, frameAnchor} = options; super( data, { @@ -23,6 +23,7 @@ export class Tooltip extends Mark { options, defaults ); + this.corner = maybeCorner(corner); this.frameAnchor = maybeFrameAnchor(frameAnchor); this.indexesBySvg = new WeakMap(); this.maxRadius = +maxRadius; @@ -32,7 +33,7 @@ export class Tooltip extends Mark { const formatFx = fx && inferTickFormat(fx); const formatFy = fy && inferTickFormat(fy); const [cx, cy] = applyFrameAnchor(this, dimensions); - const {maxRadius, fx: fxv, fy: fyv} = this; + const {corner, maxRadius, fx: fxv, fy: fyv} = this; const {marginLeft, marginTop} = dimensions; const svg = context.ownerSVGElement; let indexes = this.indexesBySvg.get(svg); @@ -41,7 +42,6 @@ export class Tooltip extends Mark { const r = 8; // padding const dx = 0; // offsetLeft const dy = 12; // offsetTop - const corner = "top-left"; // top-left, top-right, bottom-left, bottom-right const foreground = "black"; const background = "white"; const kx = 1, @@ -87,21 +87,27 @@ export class Tooltip extends Mark { } if (fxv != null) text.push([fx.label ?? "fx", formatFx(fxi)]); if (fyv != null) text.push([fy.label ?? "fy", formatFy(fyi)]); - const oy = getLineOffset(corner, text); - content + const tspan = content .selectChildren() .data(text) .join("tspan") .attr("x", 0) - .attr("y", (d, i) => `${i + oy}em`) + .attr("y", (d, i) => `${i}em`); + tspan .selectChildren() .data((d) => d) .join("tspan") .attr("font-weight", (d, i) => (i ? null : "bold")) .text((d, i) => (i ? ` ${d}\u200b` : String(d))); // zwsp for double-click - const {width, height} = content.node().getBBox(); - path.attr("d", getPath(corner, dx, dy, r, width, height)); - content.attr("transform", getTextTransform(corner, dx, dy, r, width)); + const {width: w, height: h} = content.node().getBBox(); + const {width, height} = svg.getBBox(); + const cx = (/-left$/.test(corner) ? xi + w + dx + r * 2 > width : xi - w - dx - r * 2 > 0) ? "right" : "left"; + const cy = (/^top-/.test(corner) ? yi + h + dy + r * 2 > height : yi - h - dy - r * 2 > 0) ? "bottom" : "top"; + const cc = `${cy}-${cx}`; + const oy = getLineOffset(cc, text); + tspan.attr("y", (d, i) => `${i + oy}em`); + path.attr("d", getPath(cc, dx, dy, r, w, h)); + content.attr("transform", getTextTransform(cc, dx, dy, r, w, h)); } }) .on("pointerdown", () => { @@ -139,6 +145,10 @@ export function tooltip(data, {x, y, ...options} = {}) { return new Tooltip(data, {...options, x, y}); } +function maybeCorner(value = "bottom-left") { + return keyword(value, "corner", ["top-left", "top-right", "bottom-right", "bottom-left"]); +} + function getLineOffset(corner, text) { return /^top-/.test(corner) ? 0.9 : 0.8 - text.length; } From 003c1626241be52a944c12a6a822213bdb6a8b23 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Thu, 4 May 2023 08:13:24 -0700 Subject: [PATCH 15/35] tooltip text styles --- src/marks/text.js | 6 +++--- src/marks/tooltip.d.ts | 6 +++++- src/marks/tooltip.js | 42 +++++++++++++++++++++++++++++++++++------- 3 files changed, 43 insertions(+), 11 deletions(-) diff --git a/src/marks/text.js b/src/marks/text.js index bf3bf4ca54..b8dd934a0a 100644 --- a/src/marks/text.js +++ b/src/marks/text.js @@ -177,7 +177,7 @@ export function textY(data, options = {}) { return new Text(data, maybeIntervalMidX({...remainingOptions, y})); } -function applyIndirectTextStyles(selection, mark, T) { +export function applyIndirectTextStyles(selection, mark, T) { applyAttr(selection, "text-anchor", mark.textAnchor); applyAttr(selection, "font-family", mark.fontFamily); applyAttr(selection, "font-size", mark.fontSize); @@ -187,7 +187,7 @@ function applyIndirectTextStyles(selection, mark, T) { } function inferFontVariant(T) { - return isNumeric(T) || isTemporal(T) ? "tabular-nums" : undefined; + return T && (isNumeric(T) || isTemporal(T)) ? "tabular-nums" : undefined; } // https://developer.mozilla.org/en-US/docs/Web/CSS/font-size @@ -420,7 +420,7 @@ function splitter({monospace, lineWidth, textOverflow}) { return (text) => lineWrap(text, maxWidth, widthof); } -function clipper({monospace, lineWidth, textOverflow}) { +export function clipper({monospace, lineWidth, textOverflow}) { if (textOverflow == null || lineWidth == Infinity) return (text) => text; const widthof = monospace ? monospaceWidth : defaultWidth; const maxWidth = lineWidth * 100; diff --git a/src/marks/tooltip.d.ts b/src/marks/tooltip.d.ts index 99750a53f0..e52d3bae9d 100644 --- a/src/marks/tooltip.d.ts +++ b/src/marks/tooltip.d.ts @@ -1,8 +1,12 @@ import type {ChannelValueSpec} from "../channel.js"; import type {Data, FrameAnchor, MarkOptions, RenderableMark} from "../mark.js"; +import type {TextOptions} from "./text.js"; + +/** Options for styling text. TODO Move to TextOptions? */ +type TextStyles = Pick; // prettier-ignore /** Options for the tooltip mark. */ -export interface TooltipOptions extends MarkOptions { +export interface TooltipOptions extends MarkOptions, TextStyles { /** * The horizontal position channel specifying the tooltip’s anchor, typically * bound to the *x* scale. diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 309785babe..1c5b1a8b14 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -4,6 +4,10 @@ import {Mark} from "../mark.js"; import {keyword, maybeFrameAnchor, maybeTuple} from "../options.js"; import {applyFrameAnchor} from "../style.js"; import {inferTickFormat} from "./axis.js"; +import {string} from "../options.js"; +import {number} from "../options.js"; +import {clipper} from "./text.js"; +import {applyIndirectTextStyles} from "./text.js"; const defaults = { ariaLabel: "tooltip", @@ -13,7 +17,21 @@ const defaults = { export class Tooltip extends Mark { constructor(data, options = {}) { - const {x, y, maxRadius = 40, corner, frameAnchor} = options; + const { + x, + y, + maxRadius = 40, + corner, + monospace, + fontFamily = monospace ? "ui-monospace, monospace" : undefined, + fontSize, + fontStyle, + fontVariant, + fontWeight, + lineHeight = 1, + lineWidth = Infinity, + frameAnchor + } = options; super( data, { @@ -26,14 +44,24 @@ export class Tooltip extends Mark { this.corner = maybeCorner(corner); this.frameAnchor = maybeFrameAnchor(frameAnchor); this.indexesBySvg = new WeakMap(); + this.textAnchor = "start"; // TODO option? + this.lineHeight = +lineHeight; + this.lineWidth = +lineWidth; + this.monospace = !!monospace; + this.fontFamily = string(fontFamily); + this.fontSize = number(fontSize); + this.fontStyle = string(fontStyle); + this.fontVariant = string(fontVariant); + this.fontWeight = string(fontWeight); this.maxRadius = +maxRadius; + this.clipLine = clipper(this); } render(index, scales, {x: X, y: Y, channels}, dimensions, context) { const {fx, fy} = scales; const formatFx = fx && inferTickFormat(fx); const formatFy = fy && inferTickFormat(fy); const [cx, cy] = applyFrameAnchor(this, dimensions); - const {corner, maxRadius, fx: fxv, fy: fyv} = this; + const {corner, lineHeight, maxRadius, fx: fxv, fy: fyv} = this; const {marginLeft, marginTop} = dimensions; const svg = context.ownerSVGElement; let indexes = this.indexesBySvg.get(svg); @@ -92,7 +120,7 @@ export class Tooltip extends Mark { .data(text) .join("tspan") .attr("x", 0) - .attr("y", (d, i) => `${i}em`); + .attr("y", (d, i) => `${i * lineHeight}em`); tspan .selectChildren() .data((d) => d) @@ -104,8 +132,8 @@ export class Tooltip extends Mark { const cx = (/-left$/.test(corner) ? xi + w + dx + r * 2 > width : xi - w - dx - r * 2 > 0) ? "right" : "left"; const cy = (/^top-/.test(corner) ? yi + h + dy + r * 2 > height : yi - h - dy - r * 2 > 0) ? "bottom" : "top"; const cc = `${cy}-${cx}`; - const oy = getLineOffset(cc, text); - tspan.attr("y", (d, i) => `${i + oy}em`); + const oy = getLineOffset(cc, text) * lineHeight; + tspan.attr("y", (d, i) => `${i * lineHeight + oy}em`); path.attr("d", getPath(cc, dx, dy, r, w, h)); content.attr("transform", getTextTransform(cc, dx, dy, r, w, h)); } @@ -133,8 +161,8 @@ export class Tooltip extends Mark { .on("pointerdown pointermove", (event) => event.stopPropagation()); const content = dot .append("text") - .attr("text-anchor", "start") .attr("fill", foreground) + .call(applyIndirectTextStyles, this) .on("pointerdown pointermove", (event) => event.stopPropagation()); return null; } @@ -150,7 +178,7 @@ function maybeCorner(value = "bottom-left") { } function getLineOffset(corner, text) { - return /^top-/.test(corner) ? 0.9 : 0.8 - text.length; + return /^top-/.test(corner) ? 0.94 : 0.71 - text.length; } function getTextTransform(corner, dx, dy, r, width) { From bab44f1ff68e04acaac38039389e5823de86f411 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Thu, 4 May 2023 08:35:03 -0700 Subject: [PATCH 16/35] listen to the window --- src/marks/tooltip.js | 20 ++++++++++++++------ test/output/tooltipDotColor.svg | 2 +- test/output/tooltipDotDodge.svg | 2 +- test/output/tooltipDotFacets.svg | 2 +- test/output/tooltipLineColor.svg | 2 +- test/output/tooltipMultiLine.svg | 2 +- 6 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 1c5b1a8b14..4b11503fc8 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -76,12 +76,20 @@ export class Tooltip extends Mark { ky = 1; // TODO one-dimensional bias let i, xi, yi; // currently-focused index and position let sticky = false; - const dot = select(svg) + select(svg.ownerDocument.defaultView) .on("pointermove", (event) => { if (sticky) return; + if (event.buttons === 1) return; // dragging + const rect = svg.getBoundingClientRect(); let ii, fxi, fyi; - if (event.buttons === 0) { - const [xp, yp] = pointer(event); + if ( + // Check if the pointer is near before scanning. + event.clientX + maxRadius > rect.left && + event.clientX - maxRadius < rect.right && + event.clientY + maxRadius > rect.top && + event.clientY - maxRadius < rect.bottom + ) { + const [xp, yp] = pointer(event, svg); let ri = kx * ky * kx * ky * maxRadius * maxRadius; for (const index of indexes) { const fxj = index.fx; @@ -98,7 +106,7 @@ export class Tooltip extends Mark { } } } - if (i === ii) return; + if (i === ii) return; // abort if the tooltip hasn’t moved i = ii; if (i === undefined) { dot.attr("display", "none"); @@ -147,8 +155,8 @@ export class Tooltip extends Mark { sticky = true; dot.attr("pointer-events", "all"); } - }) - .on("pointerleave", () => sticky || dot.attr("display", "none")) + }); + const dot = select(svg) .append("g") .attr("aria-label", "tooltip") .attr("pointer-events", "none") // initially not sticky diff --git a/test/output/tooltipDotColor.svg b/test/output/tooltipDotColor.svg index 5d7a706e3e..f636d2940f 100644 --- a/test/output/tooltipDotColor.svg +++ b/test/output/tooltipDotColor.svg @@ -417,6 +417,6 @@ - + \ No newline at end of file diff --git a/test/output/tooltipDotDodge.svg b/test/output/tooltipDotDodge.svg index d53f5d9b18..5835f097d3 100644 --- a/test/output/tooltipDotDodge.svg +++ b/test/output/tooltipDotDodge.svg @@ -654,6 +654,6 @@ - + \ No newline at end of file diff --git a/test/output/tooltipDotFacets.svg b/test/output/tooltipDotFacets.svg index ab2dec525d..f85840e84e 100644 --- a/test/output/tooltipDotFacets.svg +++ b/test/output/tooltipDotFacets.svg @@ -11206,6 +11206,6 @@ - + \ No newline at end of file diff --git a/test/output/tooltipLineColor.svg b/test/output/tooltipLineColor.svg index 09a1d2ec19..a0e7843156 100644 --- a/test/output/tooltipLineColor.svg +++ b/test/output/tooltipLineColor.svg @@ -1347,6 +1347,6 @@ - + \ No newline at end of file diff --git a/test/output/tooltipMultiLine.svg b/test/output/tooltipMultiLine.svg index bb67754741..7df30f478d 100644 --- a/test/output/tooltipMultiLine.svg +++ b/test/output/tooltipMultiLine.svg @@ -109,6 +109,6 @@ - + \ No newline at end of file From 631f4d1828dcbf014e8343fa239e36364767bf7d Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Thu, 4 May 2023 08:45:20 -0700 Subject: [PATCH 17/35] remove default overflow: visible --- src/plot.js | 1 - test/output/aaplBollinger.svg | 1 - test/output/aaplBollingerGridInterval.svg | 1 - test/output/aaplBollingerGridSpacing.svg | 1 - test/output/aaplCandlestick.svg | 1 - test/output/aaplChangeVolume.svg | 1 - test/output/aaplClose.svg | 1 - test/output/aaplCloseDataTicks.svg | 1 - test/output/aaplCloseGridColor.svg | 1 - test/output/aaplCloseGridInterval.svg | 1 - test/output/aaplCloseGridIntervalName.svg | 1 - test/output/aaplCloseGridIterable.svg | 1 - test/output/aaplCloseImplicitGrid.svg | 1 - test/output/aaplCloseUntyped.svg | 1 - test/output/aaplFancyAxis.svg | 1 - test/output/aaplMonthly.svg | 1 - test/output/aaplVolume.svg | 1 - test/output/aaplVolumeRect.svg | 1 - test/output/anscombeQuartet.svg | 1 - test/output/armadillo.svg | 1 - test/output/aspectRatioBand.svg | 1 - test/output/aspectRatioLinear.svg | 1 - test/output/aspectRatioLog.svg | 1 - test/output/aspectRatioPoint.svg | 1 - test/output/aspectRatioSqrt.svg | 1 - test/output/athletesBinsColors.svg | 1 - test/output/athletesBirthdays.svg | 1 - test/output/athletesBoxingHeight.svg | 1 - test/output/athletesHeightWeight.svg | 1 - test/output/athletesHeightWeightBin.svg | 1 - test/output/athletesHeightWeightBinStroke.svg | 1 - test/output/athletesHeightWeightSex.svg | 1 - test/output/athletesHeightWeightSport.svg | 1 - test/output/athletesNationality.svg | 1 - test/output/athletesSample.svg | 1 - test/output/athletesSampleFacet.svg | 1 - test/output/athletesSexWeight.svg | 1 - test/output/athletesSortFacet.svg | 1 - test/output/athletesSortNationality.html | 1 - test/output/athletesSortNullLimit.html | 1 - test/output/athletesSortWeightLimit.svg | 1 - test/output/athletesSportSex.svg | 1 - test/output/athletesSportWeight.svg | 1 - test/output/athletesWeight.svg | 1 - test/output/athletesWeightCumulative.svg | 1 - test/output/autoArea.svg | 1 - test/output/autoAreaColor.svg | 1 - test/output/autoAreaColorColor.svg | 1 - test/output/autoAreaColorName.svg | 1 - test/output/autoAreaColorValue.svg | 1 - test/output/autoAreaStackColor.svg | 1 - test/output/autoAutoHistogram.svg | 1 - test/output/autoBar.svg | 1 - test/output/autoBarColorReducer.svg | 1 - test/output/autoBarMode.svg | 1 - test/output/autoBarNonZeroReducer.svg | 1 - test/output/autoBarStackColor.svg | 1 - test/output/autoBarStackColorConstant.svg | 1 - test/output/autoBarStackColorField.svg | 1 - test/output/autoChannels.svg | 1 - test/output/autoConnectedScatterplot.svg | 1 - test/output/autoDot.svg | 1 - test/output/autoDotBin.svg | 1 - test/output/autoDotColor.svg | 1 - test/output/autoDotFacet.svg | 1 - test/output/autoDotFacet2.svg | 1 - test/output/autoDotGroup.svg | 1 - test/output/autoDotOrdCont.svg | 1 - test/output/autoDotOrdinal.svg | 1 - test/output/autoDotSize.svg | 1 - test/output/autoDotSize2.svg | 1 - test/output/autoDotUnsortedDate.svg | 1 - test/output/autoDotZero.svg | 1 - test/output/autoHeatmap.svg | 1 - test/output/autoHeatmapOrdCont.svg | 1 - test/output/autoHeatmapOrdinal.svg | 1 - test/output/autoHistogram.svg | 1 - test/output/autoHistogramDate.svg | 1 - test/output/autoHistogramGroup.svg | 1 - test/output/autoLine.svg | 1 - test/output/autoLineColor.svg | 1 - test/output/autoLineColorSeries.svg | 1 - test/output/autoLineFacet.svg | 1 - test/output/autoLineHistogram.svg | 1 - test/output/autoLineMean.svg | 1 - test/output/autoLineMeanColor.svg | 1 - test/output/autoLineMeanThresholds.svg | 1 - test/output/autoLineMeanZero.svg | 1 - test/output/autoLineZero.svg | 1 - test/output/autoNullReduceContinuous.svg | 1 - test/output/autoNullReduceDate.svg | 1 - test/output/autoNullReduceOrdinal.svg | 1 - test/output/autoRectColorReducer.svg | 1 - test/output/autoRectStackColor.svg | 1 - test/output/autoRuleZero.svg | 1 - test/output/availability.svg | 1 - test/output/axisLabelBoth.svg | 1 - test/output/axisLabelBothReverse.svg | 1 - test/output/axisLabelHref.svg | 1 - test/output/axisLabelVaryingFill.svg | 1 - test/output/axisLabelX.svg | 1 - test/output/axisLabelY.svg | 1 - test/output/ballotStatusRace.svg | 1 - test/output/bandClip.svg | 1 - test/output/bandClip2.svg | 1 - test/output/beagle.svg | 1 - test/output/beckerBarley.svg | 1 - test/output/bigint1.svg | 1 - test/output/bigint2.svg | 1 - test/output/bigintLog.svg | 1 - test/output/bigintOrdinal.html | 1 - test/output/bigintStack.svg | 1 - test/output/bin1m.svg | 1 - test/output/binStrings.svg | 1 - test/output/binTimestamps.svg | 1 - test/output/boundingBoxes.svg | 1 - test/output/boxplot.svg | 1 - test/output/boxplotFacetInterval.svg | 1 - test/output/boxplotFacetNegativeInterval.svg | 1 - test/output/caltrain.html | 1 - test/output/caltrainDirection.svg | 1 - test/output/carsDodge.svg | 1 - test/output/carsHexbin.html | 1 - test/output/carsJitter.html | 1 - test/output/carsMpg.svg | 1 - test/output/carsParcoords.svg | 1 - test/output/clamp.svg | 1 - test/output/collapsedHistogram.svg | 1 - test/output/contourCa55.svg | 1 - test/output/contourVapor.svg | 1 - test/output/countryCentroids.svg | 1 - test/output/covidIhmeProjectedDeaths.svg | 1 - test/output/crimeanWarArrow.svg | 1 - test/output/crimeanWarLine.svg | 1 - test/output/crimeanWarOverlapped.svg | 1 - test/output/crimeanWarStacked.svg | 1 - test/output/d3Survey2015Comfort.svg | 1 - test/output/d3Survey2015Why.svg | 1 - test/output/darkerDodge.svg | 1 - test/output/decathlon.html | 1 - test/output/diamondsBoxplot.svg | 1 - test/output/diamondsCaratPrice.svg | 1 - test/output/diamondsCaratPriceDots.svg | 1 - test/output/diamondsCaratSampling.svg | 1 - test/output/documentationLinks.svg | 1 - test/output/dodgeRule.svg | 1 - test/output/dodgeTextRadius.svg | 1 - test/output/dodgeTick.svg | 1 - test/output/dotSort.html | 7 ------- test/output/downloads.svg | 1 - test/output/downloadsOrdinal.svg | 1 - test/output/driving.svg | 1 - test/output/electricityDemand.svg | 1 - test/output/empty.svg | 1 - test/output/emptyFacet.svg | 1 - test/output/emptyLegend.svg | 1 - test/output/emptyX.svg | 1 - test/output/energyProduction.html | 1 - test/output/faithfulDensity.svg | 1 - test/output/faithfulDensity1d.svg | 1 - test/output/faithfulDensityFill.svg | 1 - test/output/federalFunds.svg | 1 - test/output/figcaption.html | 1 - test/output/figcaptionHtml.html | 1 - test/output/firstLadies.svg | 1 - test/output/flareCluster.svg | 1 - test/output/flareIndent.svg | 1 - test/output/flareTree.svg | 1 - test/output/footballCoverage.svg | 1 - test/output/frameCorners.svg | 1 - test/output/frameFacet.svg | 1 - test/output/frameFillCategorical.html | 1 - test/output/frameFillQuantitative.html | 1 - test/output/frameSides.svg | 1 - test/output/frameSidesX.svg | 1 - test/output/frameSidesXY.svg | 1 - test/output/frameSidesY.svg | 1 - test/output/fruitSales.svg | 1 - test/output/fruitSalesDate.svg | 1 - test/output/functionContour.svg | 1 - test/output/functionContourFaceted.svg | 1 - test/output/functionContourFaceted2.svg | 1 - test/output/futureSplom.svg | 1 - test/output/geoLink.svg | 1 - test/output/gistempAnomaly.svg | 1 - test/output/gistempAnomalyMoving.svg | 1 - test/output/gistempAnomalyTransform.svg | 1 - test/output/googleTrendsRidgeline.svg | 1 - test/output/graticule.svg | 1 - test/output/greekGods.svg | 1 - test/output/greekGodsExplicit.svg | 1 - test/output/gridChoropleth.svg | 1 - test/output/gridChoroplethDx.svg | 1 - test/output/gridReduceIdentity.svg | 1 - test/output/groupedRects.svg | 1 - test/output/hadcrutWarmingStripes.svg | 1 - test/output/heatmap.svg | 1 - test/output/heatmapArray.svg | 1 - test/output/heatmapConstantOpacity.svg | 1 - test/output/heatmapFaceted.svg | 1 - test/output/heatmapFillOpacity.svg | 1 - test/output/heatmapLog.svg | 1 - test/output/heatmapOpacity.svg | 1 - test/output/heatmapPartial.svg | 1 - test/output/hexbin.svg | 1 - test/output/hexbinIdentityReduce.svg | 1 - test/output/hexbinOranges.svg | 1 - test/output/hexbinR.html | 1 - test/output/hexbinSymbol.html | 1 - test/output/hexbinText.svg | 1 - test/output/hexbinZ.html | 1 - test/output/hexbinZNull.svg | 1 - test/output/highCardinalityOrdinal.svg | 1 - test/output/hrefFill.svg | 1 - test/output/ibmTrading.svg | 1 - test/output/identityScale.svg | 1 - test/output/imagePixelated.svg | 1 - test/output/industryUnemployment.svg | 1 - test/output/industryUnemploymentShare.svg | 1 - test/output/industryUnemploymentStream.svg | 1 - test/output/industryUnemploymentTrack.svg | 1 - test/output/infinityLog.svg | 1 - test/output/integerInterval.svg | 1 - test/output/internFacetDate.svg | 1 - test/output/internFacetNaN.svg | 1 - test/output/intervalAwareBin.svg | 1 - test/output/intervalAwareGroup.svg | 1 - test/output/intervalAwareStack.svg | 1 - test/output/intradayHistogram.svg | 1 - test/output/kittenConstant.svg | 1 - test/output/kittenConstantRotate.svg | 1 - test/output/kittenConstantWidthHeight.svg | 1 - test/output/kittenVariable.svg | 1 - test/output/kittenVariableDodge.svg | 1 - test/output/kittenVariableRotate.svg | 1 - test/output/learningPoverty.svg | 1 - test/output/letterFrequencyBar.svg | 1 - test/output/letterFrequencyCloud.svg | 1 - test/output/letterFrequencyColumn.svg | 1 - test/output/letterFrequencyDot.svg | 1 - test/output/letterFrequencyLollipop.svg | 1 - test/output/letterFrequencyWheel.svg | 1 - test/output/liborProjections.svg | 1 - test/output/likertSurvey.html | 1 - test/output/linearRegressionCars.svg | 1 - test/output/linearRegressionMtcars.svg | 1 - test/output/linearRegressionPenguins.svg | 1 - test/output/logDegenerate.svg | 1 - test/output/longLabels.svg | 1 - test/output/mandelbrot.svg | 1 - test/output/markovChain.svg | 1 - test/output/metroInequality.svg | 1 - test/output/metroInequalityChange.svg | 1 - test/output/metroUnemployment.svg | 1 - test/output/metroUnemploymentHighlight.svg | 1 - test/output/metroUnemploymentIndex.svg | 1 - test/output/metroUnemploymentMoving.svg | 1 - test/output/metroUnemploymentNormalize.svg | 1 - test/output/metroUnemploymentRidgeline.svg | 1 - test/output/metroUnemploymentSlope.svg | 1 - test/output/metroUnemploymentStroke.svg | 1 - test/output/mobyDick.svg | 1 - test/output/mobyDickFaceted.svg | 1 - test/output/mobyDickLetterFrequency.svg | 1 - test/output/mobyDickLetterPairs.svg | 1 - test/output/mobyDickLetterPosition.svg | 1 - test/output/mobyDickLetterRelativeFrequency.svg | 1 - test/output/morleyBoxplot.svg | 1 - test/output/moviesProfitByGenre.svg | 1 - test/output/moviesRatingByGenre.svg | 1 - test/output/multiplicationTable.svg | 1 - test/output/musicRevenue.svg | 1 - test/output/npmVersions.svg | 1 - test/output/ordinalBar.svg | 1 - test/output/penguinAnnotated.svg | 1 - test/output/penguinCulmen.svg | 1 - test/output/penguinCulmenArray.svg | 1 - test/output/penguinCulmenDelaunay.svg | 1 - test/output/penguinCulmenDelaunayMesh.svg | 1 - test/output/penguinCulmenDelaunaySpecies.svg | 1 - test/output/penguinCulmenMarkFacet.svg | 1 - test/output/penguinCulmenVoronoi.svg | 1 - test/output/penguinDensity.svg | 1 - test/output/penguinDensityFill.html | 1 - test/output/penguinDensityZ.html | 1 - test/output/penguinDodge.svg | 1 - test/output/penguinDodgeHexbin.svg | 1 - test/output/penguinDodgeVoronoi.svg | 1 - test/output/penguinFacetAnnotated.svg | 1 - test/output/penguinFacetAnnotatedX.svg | 1 - test/output/penguinFacetDodge.svg | 1 - test/output/penguinFacetDodgeIdentity.svg | 1 - test/output/penguinFacetDodgeIsland.html | 1 - test/output/penguinFacetDodgeSymbol.html | 1 - test/output/penguinHexbinColorExplicit.svg | 1 - test/output/penguinIslandUnknown.svg | 1 - test/output/penguinMass.svg | 1 - test/output/penguinMassSex.svg | 1 - test/output/penguinMassSexSpecies.svg | 1 - test/output/penguinMassSpecies.svg | 1 - test/output/penguinNA1.svg | 1 - test/output/penguinNA2.svg | 1 - test/output/penguinNA3.svg | 1 - test/output/penguinQuantileEmpty.svg | 1 - test/output/penguinQuantileUnknown.html | 1 - test/output/penguinSex.svg | 1 - test/output/penguinSexMassCulmenSpecies.svg | 1 - test/output/penguinSizeSymbols.html | 1 - test/output/penguinSpeciesCheysson.html | 1 - test/output/penguinSpeciesGradient.svg | 1 - test/output/penguinSpeciesGroup.svg | 1 - test/output/penguinSpeciesIsland.svg | 1 - test/output/penguinSpeciesIslandRelative.svg | 1 - test/output/penguinSpeciesIslandSex.svg | 1 - test/output/penguinVoronoi1D.svg | 1 - test/output/polylinear.svg | 1 - test/output/populationByLatitude.svg | 1 - test/output/populationByLongitude.svg | 1 - test/output/projectionBleedEdges.svg | 1 - test/output/projectionBleedEdges2.svg | 1 - test/output/projectionClipAngle.svg | 1 - test/output/projectionClipAngleFrame.svg | 1 - test/output/projectionClipBerghaus.svg | 1 - test/output/projectionFitAntarctica.svg | 1 - test/output/projectionFitBertin1953.svg | 1 - test/output/projectionFitConic.svg | 1 - test/output/projectionFitIdentity.svg | 1 - test/output/projectionFitUsAlbers.svg | 1 - test/output/projectionHeightAlbers.svg | 1 - test/output/projectionHeightEqualEarth.svg | 1 - test/output/projectionHeightGeometry.svg | 1 - test/output/projectionHeightMercator.svg | 1 - test/output/projectionHeightOrthographic.svg | 1 - test/output/randomBins.svg | 1 - test/output/randomBinsXY.svg | 1 - test/output/randomQuantile.svg | 1 - test/output/randomWalk.svg | 1 - test/output/rasterCa55Barycentric.svg | 1 - test/output/rasterCa55Color.svg | 1 - test/output/rasterCa55Nearest.svg | 1 - test/output/rasterCa55None.svg | 1 - test/output/rasterCa55RandomWalk.svg | 1 - test/output/rasterPenguinsBarycentric.svg | 1 - test/output/rasterPenguinsBlur.svg | 1 - test/output/rasterPenguinsRandomWalk.svg | 1 - test/output/rasterVapor.svg | 1 - test/output/rasterVapor2.html | 1 - test/output/rasterVaporEqualEarth.svg | 1 - test/output/rasterVaporEqualEarthBarycentric.svg | 1 - test/output/rasterVaporPeters.svg | 1 - test/output/rasterWalmartBarycentric.svg | 1 - test/output/rasterWalmartBarycentricOpacity.svg | 1 - test/output/rasterWalmartRandomWalk.svg | 1 - test/output/rasterWalmartWalkOpacity.svg | 1 - test/output/rectBand.svg | 1 - test/output/reducerScaleOverrideFunction.svg | 1 - test/output/reducerScaleOverrideImplementation.svg | 1 - test/output/reducerScaleOverrideName.svg | 1 - test/output/seattlePrecipitationDensity.svg | 1 - test/output/seattlePrecipitationRule.svg | 1 - test/output/seattlePrecipitationSum.svg | 1 - test/output/seattleTemperatureAmplitude.html | 1 - test/output/seattleTemperatureBand.svg | 1 - test/output/seattleTemperatureCell.svg | 1 - test/output/sfCovidDeaths.svg | 1 - test/output/sfTemperatureBand.svg | 1 - test/output/sfTemperatureBandArea.svg | 1 - test/output/shorthandArea.svg | 1 - test/output/shorthandAreaY.svg | 1 - test/output/shorthandBarY.svg | 1 - test/output/shorthandBinRectY.svg | 1 - test/output/shorthandBoxX.svg | 1 - test/output/shorthandCell.svg | 1 - test/output/shorthandCellX.svg | 1 - test/output/shorthandDot.svg | 1 - test/output/shorthandDotX.svg | 1 - test/output/shorthandGroupBarY.svg | 1 - test/output/shorthandLine.svg | 1 - test/output/shorthandLineY.svg | 1 - test/output/shorthandRectY.svg | 1 - test/output/shorthandRuleX.svg | 1 - test/output/shorthandText.svg | 1 - test/output/shorthandTextX.svg | 1 - test/output/shorthandTickX.svg | 1 - test/output/shorthandVector.svg | 1 - test/output/shorthandVectorX.svg | 1 - test/output/simpsonsRatings.svg | 1 - test/output/simpsonsRatingsDots.svg | 1 - test/output/simpsonsViews.html | 1 - test/output/singleValueBar.svg | 1 - test/output/singleValueBin.svg | 1 - test/output/softwareVersions.svg | 1 - test/output/sparseCell.svg | 1 - test/output/stackedBar.svg | 1 - test/output/stackedRect.svg | 1 - test/output/stargazers.svg | 1 - test/output/stargazersBinned.svg | 1 - test/output/stargazersHourly.svg | 1 - test/output/stargazersHourlyGroup.svg | 1 - test/output/stocksIndex.svg | 1 - test/output/textOverflow.svg | 1 - test/output/textOverflowClip.svg | 1 - test/output/textOverflowEllipsis.svg | 1 - test/output/textOverflowMonospace.svg | 1 - test/output/textOverflowNone.svg | 1 - test/output/thisIsJustToSay.svg | 1 - test/output/tooltipDotColor.svg | 1 - test/output/tooltipDotDodge.svg | 1 - test/output/tooltipDotFacets.svg | 1 - test/output/tooltipLineColor.svg | 1 - test/output/tooltipMultiLine.svg | 1 - test/output/trafficHorizon.html | 1 - test/output/travelersCovidDrop.svg | 1 - test/output/travelersYearOverYear.svg | 1 - test/output/uniformRandomDifference.svg | 1 - test/output/untypedDateBin.svg | 1 - test/output/usCongressAge.svg | 1 - test/output/usCongressAgeColorExplicit.svg | 1 - test/output/usCongressAgeGender.svg | 1 - test/output/usCongressAgeSymbolExplicit.svg | 1 - test/output/usCountyChoropleth.html | 1 - test/output/usCountySpikes.svg | 1 - test/output/usPopulationStateAge.svg | 1 - test/output/usPopulationStateAgeDots.svg | 1 - test/output/usPopulationStateAgeGrouped.svg | 1 - test/output/usPresidentFavorabilityDots.svg | 1 - test/output/usPresidentGallery.svg | 1 - test/output/usPresidentGalleryAlt.svg | 1 - test/output/usPresidentialElection2020.svg | 1 - test/output/usPresidentialElectionMap2020.svg | 1 - test/output/usPresidentialForecast2016.svg | 1 - test/output/usRetailSales.svg | 1 - test/output/usStateCapitals.svg | 1 - test/output/usStateCapitalsVoronoi.svg | 1 - test/output/usStatePopulationChange.svg | 1 - test/output/vectorField.svg | 1 - test/output/vectorFrame.svg | 1 - test/output/volcano.svg | 1 - test/output/volcanoContour.svg | 1 - test/output/volcanoTerrain.svg | 1 - test/output/walmarts.html | 1 - test/output/walmartsDecades.svg | 1 - test/output/walmartsDensity.svg | 1 - test/output/walmartsDensityUnprojected.svg | 1 - test/output/wealthBritainBar.svg | 1 - test/output/wealthBritainProportionPlot.svg | 1 - test/output/wordCloud.svg | 1 - test/output/wordLengthMobyDick.svg | 1 - test/output/yearlyRequests.svg | 1 - test/output/yearlyRequestsDot.svg | 1 - test/output/yearlyRequestsLine.svg | 1 - 451 files changed, 457 deletions(-) diff --git a/src/plot.js b/src/plot.js index dc40ee7273..a700d86e20 100644 --- a/src/plot.js +++ b/src/plot.js @@ -224,7 +224,6 @@ export function plot(options = {}) { height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .${className} text, .${className} tspan { diff --git a/test/output/aaplBollinger.svg b/test/output/aaplBollinger.svg index b3a0a3e940..e950133f03 100644 --- a/test/output/aaplBollinger.svg +++ b/test/output/aaplBollinger.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplBollingerGridInterval.svg b/test/output/aaplBollingerGridInterval.svg index 131e10666b..2d768aa5b5 100644 --- a/test/output/aaplBollingerGridInterval.svg +++ b/test/output/aaplBollingerGridInterval.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplBollingerGridSpacing.svg b/test/output/aaplBollingerGridSpacing.svg index 131e10666b..2d768aa5b5 100644 --- a/test/output/aaplBollingerGridSpacing.svg +++ b/test/output/aaplBollingerGridSpacing.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplCandlestick.svg b/test/output/aaplCandlestick.svg index deb8b1d97e..92e6ddda36 100644 --- a/test/output/aaplCandlestick.svg +++ b/test/output/aaplCandlestick.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplChangeVolume.svg b/test/output/aaplChangeVolume.svg index a478f95f15..88bdd478d4 100644 --- a/test/output/aaplChangeVolume.svg +++ b/test/output/aaplChangeVolume.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplClose.svg b/test/output/aaplClose.svg index aa3a794fdd..8544d2e0d3 100644 --- a/test/output/aaplClose.svg +++ b/test/output/aaplClose.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplCloseDataTicks.svg b/test/output/aaplCloseDataTicks.svg index 1bf4bf213f..3f93df49a9 100644 --- a/test/output/aaplCloseDataTicks.svg +++ b/test/output/aaplCloseDataTicks.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplCloseGridColor.svg b/test/output/aaplCloseGridColor.svg index 105a42fbdb..53f86885c1 100644 --- a/test/output/aaplCloseGridColor.svg +++ b/test/output/aaplCloseGridColor.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplCloseGridInterval.svg b/test/output/aaplCloseGridInterval.svg index cda8c1d3ee..032b339173 100644 --- a/test/output/aaplCloseGridInterval.svg +++ b/test/output/aaplCloseGridInterval.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplCloseGridIntervalName.svg b/test/output/aaplCloseGridIntervalName.svg index 69042dfcaf..6af3705714 100644 --- a/test/output/aaplCloseGridIntervalName.svg +++ b/test/output/aaplCloseGridIntervalName.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplCloseGridIterable.svg b/test/output/aaplCloseGridIterable.svg index 81dcc66b89..b43ab04ec3 100644 --- a/test/output/aaplCloseGridIterable.svg +++ b/test/output/aaplCloseGridIterable.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplCloseImplicitGrid.svg b/test/output/aaplCloseImplicitGrid.svg index d1d580a3d3..6fbb1528ed 100644 --- a/test/output/aaplCloseImplicitGrid.svg +++ b/test/output/aaplCloseImplicitGrid.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplCloseUntyped.svg b/test/output/aaplCloseUntyped.svg index 14d2fd414a..998c370b90 100644 --- a/test/output/aaplCloseUntyped.svg +++ b/test/output/aaplCloseUntyped.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplFancyAxis.svg b/test/output/aaplFancyAxis.svg index 2d328a9dc6..884f090764 100644 --- a/test/output/aaplFancyAxis.svg +++ b/test/output/aaplFancyAxis.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplMonthly.svg b/test/output/aaplMonthly.svg index 7d8d57a7ea..07b1f27dff 100644 --- a/test/output/aaplMonthly.svg +++ b/test/output/aaplMonthly.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplVolume.svg b/test/output/aaplVolume.svg index 64bd0f42b8..5047d67640 100644 --- a/test/output/aaplVolume.svg +++ b/test/output/aaplVolume.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aaplVolumeRect.svg b/test/output/aaplVolumeRect.svg index bd12e016c5..42a109c0a3 100644 --- a/test/output/aaplVolumeRect.svg +++ b/test/output/aaplVolumeRect.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/anscombeQuartet.svg b/test/output/anscombeQuartet.svg index 25bed58d39..e383ffed31 100644 --- a/test/output/anscombeQuartet.svg +++ b/test/output/anscombeQuartet.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/armadillo.svg b/test/output/armadillo.svg index 9770e530c0..47b71cbb27 100644 --- a/test/output/armadillo.svg +++ b/test/output/armadillo.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aspectRatioBand.svg b/test/output/aspectRatioBand.svg index e4f95f75e2..6604463720 100644 --- a/test/output/aspectRatioBand.svg +++ b/test/output/aspectRatioBand.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aspectRatioLinear.svg b/test/output/aspectRatioLinear.svg index 01d7bfdfe2..e7c11fc1e6 100644 --- a/test/output/aspectRatioLinear.svg +++ b/test/output/aspectRatioLinear.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aspectRatioLog.svg b/test/output/aspectRatioLog.svg index 166c86472a..ea188c5b48 100644 --- a/test/output/aspectRatioLog.svg +++ b/test/output/aspectRatioLog.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aspectRatioPoint.svg b/test/output/aspectRatioPoint.svg index 11e003ae54..8b599a6ad4 100644 --- a/test/output/aspectRatioPoint.svg +++ b/test/output/aspectRatioPoint.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/aspectRatioSqrt.svg b/test/output/aspectRatioSqrt.svg index c30f1de30a..c8ebdfc79d 100644 --- a/test/output/aspectRatioSqrt.svg +++ b/test/output/aspectRatioSqrt.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesBinsColors.svg b/test/output/athletesBinsColors.svg index 7af6f12981..07b9674d25 100644 --- a/test/output/athletesBinsColors.svg +++ b/test/output/athletesBinsColors.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesBirthdays.svg b/test/output/athletesBirthdays.svg index 0d0ce632e0..5d268ed927 100644 --- a/test/output/athletesBirthdays.svg +++ b/test/output/athletesBirthdays.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesBoxingHeight.svg b/test/output/athletesBoxingHeight.svg index bb8346839f..ed94fc9d80 100644 --- a/test/output/athletesBoxingHeight.svg +++ b/test/output/athletesBoxingHeight.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesHeightWeight.svg b/test/output/athletesHeightWeight.svg index 08f41675cf..02070ae474 100644 --- a/test/output/athletesHeightWeight.svg +++ b/test/output/athletesHeightWeight.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesHeightWeightBin.svg b/test/output/athletesHeightWeightBin.svg index 27ae1c0490..2bf28cdab5 100644 --- a/test/output/athletesHeightWeightBin.svg +++ b/test/output/athletesHeightWeightBin.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesHeightWeightBinStroke.svg b/test/output/athletesHeightWeightBinStroke.svg index 53130b3a48..4633944613 100644 --- a/test/output/athletesHeightWeightBinStroke.svg +++ b/test/output/athletesHeightWeightBinStroke.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesHeightWeightSex.svg b/test/output/athletesHeightWeightSex.svg index ef0c15b303..6b6eff9708 100644 --- a/test/output/athletesHeightWeightSex.svg +++ b/test/output/athletesHeightWeightSex.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesHeightWeightSport.svg b/test/output/athletesHeightWeightSport.svg index 85ed46dec5..adba5477b5 100644 --- a/test/output/athletesHeightWeightSport.svg +++ b/test/output/athletesHeightWeightSport.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesNationality.svg b/test/output/athletesNationality.svg index 9b02f07508..c75e3a4220 100644 --- a/test/output/athletesNationality.svg +++ b/test/output/athletesNationality.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesSample.svg b/test/output/athletesSample.svg index 660468df80..3f46ef41ae 100644 --- a/test/output/athletesSample.svg +++ b/test/output/athletesSample.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesSampleFacet.svg b/test/output/athletesSampleFacet.svg index 2378de177b..782c9be797 100644 --- a/test/output/athletesSampleFacet.svg +++ b/test/output/athletesSampleFacet.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesSexWeight.svg b/test/output/athletesSexWeight.svg index d6163f0c9c..4cb0ee8abd 100644 --- a/test/output/athletesSexWeight.svg +++ b/test/output/athletesSexWeight.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesSortFacet.svg b/test/output/athletesSortFacet.svg index bd5e8bd621..0dab89ce58 100644 --- a/test/output/athletesSortFacet.svg +++ b/test/output/athletesSortFacet.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesSortNationality.html b/test/output/athletesSortNationality.html index 7435ff4ef3..d371b42a1e 100644 --- a/test/output/athletesSortNationality.html +++ b/test/output/athletesSortNationality.html @@ -53,7 +53,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesSortNullLimit.html b/test/output/athletesSortNullLimit.html index ffd5eb8056..5c2da917ff 100644 --- a/test/output/athletesSortNullLimit.html +++ b/test/output/athletesSortNullLimit.html @@ -53,7 +53,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesSortWeightLimit.svg b/test/output/athletesSortWeightLimit.svg index 851a5410bd..ff2d43dcd8 100644 --- a/test/output/athletesSortWeightLimit.svg +++ b/test/output/athletesSortWeightLimit.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesSportSex.svg b/test/output/athletesSportSex.svg index f90e944fd5..800f0b6ea0 100644 --- a/test/output/athletesSportSex.svg +++ b/test/output/athletesSportSex.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesSportWeight.svg b/test/output/athletesSportWeight.svg index c3cb78a722..876f8bce17 100644 --- a/test/output/athletesSportWeight.svg +++ b/test/output/athletesSportWeight.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesWeight.svg b/test/output/athletesWeight.svg index 66b411dc74..82b06898f5 100644 --- a/test/output/athletesWeight.svg +++ b/test/output/athletesWeight.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/athletesWeightCumulative.svg b/test/output/athletesWeightCumulative.svg index 5a76d2b183..2ba43b5b8a 100644 --- a/test/output/athletesWeightCumulative.svg +++ b/test/output/athletesWeightCumulative.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoArea.svg b/test/output/autoArea.svg index c7917a5a7f..63fed34fda 100644 --- a/test/output/autoArea.svg +++ b/test/output/autoArea.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoAreaColor.svg b/test/output/autoAreaColor.svg index db3fa3c030..37c9fdb8ad 100644 --- a/test/output/autoAreaColor.svg +++ b/test/output/autoAreaColor.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoAreaColorColor.svg b/test/output/autoAreaColorColor.svg index ebb8ffa9d0..1449edd015 100644 --- a/test/output/autoAreaColorColor.svg +++ b/test/output/autoAreaColorColor.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoAreaColorName.svg b/test/output/autoAreaColorName.svg index ebb8ffa9d0..1449edd015 100644 --- a/test/output/autoAreaColorName.svg +++ b/test/output/autoAreaColorName.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoAreaColorValue.svg b/test/output/autoAreaColorValue.svg index db3fa3c030..37c9fdb8ad 100644 --- a/test/output/autoAreaColorValue.svg +++ b/test/output/autoAreaColorValue.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoAreaStackColor.svg b/test/output/autoAreaStackColor.svg index 54b617771a..00d52c1760 100644 --- a/test/output/autoAreaStackColor.svg +++ b/test/output/autoAreaStackColor.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoAutoHistogram.svg b/test/output/autoAutoHistogram.svg index 3d763aa735..929c651994 100644 --- a/test/output/autoAutoHistogram.svg +++ b/test/output/autoAutoHistogram.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoBar.svg b/test/output/autoBar.svg index 35300d6203..5b63abcdf7 100644 --- a/test/output/autoBar.svg +++ b/test/output/autoBar.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoBarColorReducer.svg b/test/output/autoBarColorReducer.svg index 2b644e83ca..1b4910f87d 100644 --- a/test/output/autoBarColorReducer.svg +++ b/test/output/autoBarColorReducer.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoBarMode.svg b/test/output/autoBarMode.svg index 315ae2e4ac..a0f026a250 100644 --- a/test/output/autoBarMode.svg +++ b/test/output/autoBarMode.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoBarNonZeroReducer.svg b/test/output/autoBarNonZeroReducer.svg index ddb8d52ed6..c8915a1b2c 100644 --- a/test/output/autoBarNonZeroReducer.svg +++ b/test/output/autoBarNonZeroReducer.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoBarStackColor.svg b/test/output/autoBarStackColor.svg index 67d32e657e..df2f1eb4a6 100644 --- a/test/output/autoBarStackColor.svg +++ b/test/output/autoBarStackColor.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoBarStackColorConstant.svg b/test/output/autoBarStackColorConstant.svg index 3bc9876582..1fc853443c 100644 --- a/test/output/autoBarStackColorConstant.svg +++ b/test/output/autoBarStackColorConstant.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoBarStackColorField.svg b/test/output/autoBarStackColorField.svg index 8af332561f..67cdff8c21 100644 --- a/test/output/autoBarStackColorField.svg +++ b/test/output/autoBarStackColorField.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoChannels.svg b/test/output/autoChannels.svg index 4ec3e21989..549049b0a9 100644 --- a/test/output/autoChannels.svg +++ b/test/output/autoChannels.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoConnectedScatterplot.svg b/test/output/autoConnectedScatterplot.svg index 2d470048b1..5e2d20ead6 100644 --- a/test/output/autoConnectedScatterplot.svg +++ b/test/output/autoConnectedScatterplot.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoDot.svg b/test/output/autoDot.svg index f3c5411e31..13d72dd5cc 100644 --- a/test/output/autoDot.svg +++ b/test/output/autoDot.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoDotBin.svg b/test/output/autoDotBin.svg index aecc87d69f..64d3718ce3 100644 --- a/test/output/autoDotBin.svg +++ b/test/output/autoDotBin.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoDotColor.svg b/test/output/autoDotColor.svg index 040afa9bba..d0192b551b 100644 --- a/test/output/autoDotColor.svg +++ b/test/output/autoDotColor.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoDotFacet.svg b/test/output/autoDotFacet.svg index 1b55f1eff4..c5cbc9c01f 100644 --- a/test/output/autoDotFacet.svg +++ b/test/output/autoDotFacet.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoDotFacet2.svg b/test/output/autoDotFacet2.svg index b6fdb36fd9..3160af0d24 100644 --- a/test/output/autoDotFacet2.svg +++ b/test/output/autoDotFacet2.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoDotGroup.svg b/test/output/autoDotGroup.svg index 414cb1aa68..6d310000bc 100644 --- a/test/output/autoDotGroup.svg +++ b/test/output/autoDotGroup.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoDotOrdCont.svg b/test/output/autoDotOrdCont.svg index 8b655d2faa..b8d95236c8 100644 --- a/test/output/autoDotOrdCont.svg +++ b/test/output/autoDotOrdCont.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoDotOrdinal.svg b/test/output/autoDotOrdinal.svg index 2245abd1d3..005d304738 100644 --- a/test/output/autoDotOrdinal.svg +++ b/test/output/autoDotOrdinal.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoDotSize.svg b/test/output/autoDotSize.svg index 1f34f4743f..5f63a8fa47 100644 --- a/test/output/autoDotSize.svg +++ b/test/output/autoDotSize.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoDotSize2.svg b/test/output/autoDotSize2.svg index 037e0e30fd..224c2afc25 100644 --- a/test/output/autoDotSize2.svg +++ b/test/output/autoDotSize2.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoDotUnsortedDate.svg b/test/output/autoDotUnsortedDate.svg index a1dc205415..30d664e7c5 100644 --- a/test/output/autoDotUnsortedDate.svg +++ b/test/output/autoDotUnsortedDate.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoDotZero.svg b/test/output/autoDotZero.svg index e0ba2837b4..a1837e91d1 100644 --- a/test/output/autoDotZero.svg +++ b/test/output/autoDotZero.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoHeatmap.svg b/test/output/autoHeatmap.svg index f4bc14ff89..a22a2400ae 100644 --- a/test/output/autoHeatmap.svg +++ b/test/output/autoHeatmap.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoHeatmapOrdCont.svg b/test/output/autoHeatmapOrdCont.svg index 6bccba00c8..af5ec467a0 100644 --- a/test/output/autoHeatmapOrdCont.svg +++ b/test/output/autoHeatmapOrdCont.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoHeatmapOrdinal.svg b/test/output/autoHeatmapOrdinal.svg index e424fa5b9a..71b42fc1eb 100644 --- a/test/output/autoHeatmapOrdinal.svg +++ b/test/output/autoHeatmapOrdinal.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoHistogram.svg b/test/output/autoHistogram.svg index fff26d57ae..12fdead10c 100644 --- a/test/output/autoHistogram.svg +++ b/test/output/autoHistogram.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoHistogramDate.svg b/test/output/autoHistogramDate.svg index baa68300cf..0ed682670c 100644 --- a/test/output/autoHistogramDate.svg +++ b/test/output/autoHistogramDate.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoHistogramGroup.svg b/test/output/autoHistogramGroup.svg index 25bf9ffc10..3441715bef 100644 --- a/test/output/autoHistogramGroup.svg +++ b/test/output/autoHistogramGroup.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoLine.svg b/test/output/autoLine.svg index 4472181e4c..0fea073253 100644 --- a/test/output/autoLine.svg +++ b/test/output/autoLine.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoLineColor.svg b/test/output/autoLineColor.svg index f4bce42d47..e3267fd3aa 100644 --- a/test/output/autoLineColor.svg +++ b/test/output/autoLineColor.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoLineColorSeries.svg b/test/output/autoLineColorSeries.svg index 9a6b1a5825..71625400fc 100644 --- a/test/output/autoLineColorSeries.svg +++ b/test/output/autoLineColorSeries.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoLineFacet.svg b/test/output/autoLineFacet.svg index 0510622db4..20f3f4ce36 100644 --- a/test/output/autoLineFacet.svg +++ b/test/output/autoLineFacet.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoLineHistogram.svg b/test/output/autoLineHistogram.svg index 1401b95f76..bdbe2b0579 100644 --- a/test/output/autoLineHistogram.svg +++ b/test/output/autoLineHistogram.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoLineMean.svg b/test/output/autoLineMean.svg index ad847a1460..e66513489c 100644 --- a/test/output/autoLineMean.svg +++ b/test/output/autoLineMean.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoLineMeanColor.svg b/test/output/autoLineMeanColor.svg index 4d31014cd6..0ab0482e57 100644 --- a/test/output/autoLineMeanColor.svg +++ b/test/output/autoLineMeanColor.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoLineMeanThresholds.svg b/test/output/autoLineMeanThresholds.svg index 1785361aa8..91e9bc938d 100644 --- a/test/output/autoLineMeanThresholds.svg +++ b/test/output/autoLineMeanThresholds.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoLineMeanZero.svg b/test/output/autoLineMeanZero.svg index 4ef4c58617..09fed388cc 100644 --- a/test/output/autoLineMeanZero.svg +++ b/test/output/autoLineMeanZero.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoLineZero.svg b/test/output/autoLineZero.svg index 18a4224a20..911d370189 100644 --- a/test/output/autoLineZero.svg +++ b/test/output/autoLineZero.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoNullReduceContinuous.svg b/test/output/autoNullReduceContinuous.svg index 70b82d9759..7ff04232ad 100644 --- a/test/output/autoNullReduceContinuous.svg +++ b/test/output/autoNullReduceContinuous.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoNullReduceDate.svg b/test/output/autoNullReduceDate.svg index e873e874bc..1393fe90e0 100644 --- a/test/output/autoNullReduceDate.svg +++ b/test/output/autoNullReduceDate.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoNullReduceOrdinal.svg b/test/output/autoNullReduceOrdinal.svg index 6882394ff3..355bbe1f78 100644 --- a/test/output/autoNullReduceOrdinal.svg +++ b/test/output/autoNullReduceOrdinal.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoRectColorReducer.svg b/test/output/autoRectColorReducer.svg index 91624685d2..4ebba9f114 100644 --- a/test/output/autoRectColorReducer.svg +++ b/test/output/autoRectColorReducer.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoRectStackColor.svg b/test/output/autoRectStackColor.svg index 8b3aca9a49..8ed4fcf340 100644 --- a/test/output/autoRectStackColor.svg +++ b/test/output/autoRectStackColor.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/autoRuleZero.svg b/test/output/autoRuleZero.svg index d55a250a0c..35f7f63579 100644 --- a/test/output/autoRuleZero.svg +++ b/test/output/autoRuleZero.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/availability.svg b/test/output/availability.svg index 56fec7f8ba..b153c1f0a3 100644 --- a/test/output/availability.svg +++ b/test/output/availability.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/axisLabelBoth.svg b/test/output/axisLabelBoth.svg index 2dd6080717..70483a5fbb 100644 --- a/test/output/axisLabelBoth.svg +++ b/test/output/axisLabelBoth.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/axisLabelBothReverse.svg b/test/output/axisLabelBothReverse.svg index 59ae84fe25..526d2d59fd 100644 --- a/test/output/axisLabelBothReverse.svg +++ b/test/output/axisLabelBothReverse.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/axisLabelHref.svg b/test/output/axisLabelHref.svg index 840ddc438b..8b1070404f 100644 --- a/test/output/axisLabelHref.svg +++ b/test/output/axisLabelHref.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/axisLabelVaryingFill.svg b/test/output/axisLabelVaryingFill.svg index fa0d92fb87..2820499f23 100644 --- a/test/output/axisLabelVaryingFill.svg +++ b/test/output/axisLabelVaryingFill.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/axisLabelX.svg b/test/output/axisLabelX.svg index 10ee8755d5..11d858d13e 100644 --- a/test/output/axisLabelX.svg +++ b/test/output/axisLabelX.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/axisLabelY.svg b/test/output/axisLabelY.svg index 98cb9b619c..3138af7481 100644 --- a/test/output/axisLabelY.svg +++ b/test/output/axisLabelY.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/ballotStatusRace.svg b/test/output/ballotStatusRace.svg index f39f50980a..7650749658 100644 --- a/test/output/ballotStatusRace.svg +++ b/test/output/ballotStatusRace.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/bandClip.svg b/test/output/bandClip.svg index 24a4275e91..9212b5a80f 100644 --- a/test/output/bandClip.svg +++ b/test/output/bandClip.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/bandClip2.svg b/test/output/bandClip2.svg index 2ea9667804..c04df8793b 100644 --- a/test/output/bandClip2.svg +++ b/test/output/bandClip2.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/beagle.svg b/test/output/beagle.svg index 21e31388c4..15fc0c3035 100644 --- a/test/output/beagle.svg +++ b/test/output/beagle.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/beckerBarley.svg b/test/output/beckerBarley.svg index d55db9019c..730b6577c7 100644 --- a/test/output/beckerBarley.svg +++ b/test/output/beckerBarley.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/bigint1.svg b/test/output/bigint1.svg index dce12ef9d9..13dc669d1c 100644 --- a/test/output/bigint1.svg +++ b/test/output/bigint1.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/bigint2.svg b/test/output/bigint2.svg index bb2e1754ac..5d9679caad 100644 --- a/test/output/bigint2.svg +++ b/test/output/bigint2.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/bigintLog.svg b/test/output/bigintLog.svg index e0474b6d2c..39834d34c6 100644 --- a/test/output/bigintLog.svg +++ b/test/output/bigintLog.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/bigintOrdinal.html b/test/output/bigintOrdinal.html index de0d75a882..57bd09462f 100644 --- a/test/output/bigintOrdinal.html +++ b/test/output/bigintOrdinal.html @@ -65,7 +65,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/bigintStack.svg b/test/output/bigintStack.svg index 53ece0e604..e4eb805dd9 100644 --- a/test/output/bigintStack.svg +++ b/test/output/bigintStack.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/bin1m.svg b/test/output/bin1m.svg index 05633efdc9..12449de3d3 100644 --- a/test/output/bin1m.svg +++ b/test/output/bin1m.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/binStrings.svg b/test/output/binStrings.svg index d0ff913a32..0856d3c6ed 100644 --- a/test/output/binStrings.svg +++ b/test/output/binStrings.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/binTimestamps.svg b/test/output/binTimestamps.svg index fac71d7ef7..dab9e7e3fd 100644 --- a/test/output/binTimestamps.svg +++ b/test/output/binTimestamps.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/boundingBoxes.svg b/test/output/boundingBoxes.svg index 6cc8f78b30..bf7769c112 100644 --- a/test/output/boundingBoxes.svg +++ b/test/output/boundingBoxes.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/boxplot.svg b/test/output/boxplot.svg index 8ada7fdd8a..1a52874cd4 100644 --- a/test/output/boxplot.svg +++ b/test/output/boxplot.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/boxplotFacetInterval.svg b/test/output/boxplotFacetInterval.svg index 28a56bf8ff..3c5f27600d 100644 --- a/test/output/boxplotFacetInterval.svg +++ b/test/output/boxplotFacetInterval.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/boxplotFacetNegativeInterval.svg b/test/output/boxplotFacetNegativeInterval.svg index 28a56bf8ff..3c5f27600d 100644 --- a/test/output/boxplotFacetNegativeInterval.svg +++ b/test/output/boxplotFacetNegativeInterval.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/caltrain.html b/test/output/caltrain.html index fd3dbb7ce2..4649d3ed15 100644 --- a/test/output/caltrain.html +++ b/test/output/caltrain.html @@ -39,7 +39,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/caltrainDirection.svg b/test/output/caltrainDirection.svg index da860e20b6..a29db0b289 100644 --- a/test/output/caltrainDirection.svg +++ b/test/output/caltrainDirection.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/carsDodge.svg b/test/output/carsDodge.svg index 4c6f4a122f..a2ee9c9388 100644 --- a/test/output/carsDodge.svg +++ b/test/output/carsDodge.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/carsHexbin.html b/test/output/carsHexbin.html index 89dccdc753..007f1c8e13 100644 --- a/test/output/carsHexbin.html +++ b/test/output/carsHexbin.html @@ -41,7 +41,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/carsJitter.html b/test/output/carsJitter.html index c5753c66bb..b107b74bc4 100644 --- a/test/output/carsJitter.html +++ b/test/output/carsJitter.html @@ -41,7 +41,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/carsMpg.svg b/test/output/carsMpg.svg index 4b36e79964..5d6cb178bc 100644 --- a/test/output/carsMpg.svg +++ b/test/output/carsMpg.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/carsParcoords.svg b/test/output/carsParcoords.svg index 6135138e13..b6eb73b26c 100644 --- a/test/output/carsParcoords.svg +++ b/test/output/carsParcoords.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/clamp.svg b/test/output/clamp.svg index 4675d04c62..0247b29d4f 100644 --- a/test/output/clamp.svg +++ b/test/output/clamp.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/collapsedHistogram.svg b/test/output/collapsedHistogram.svg index 93a2b81c50..5a9c77549e 100644 --- a/test/output/collapsedHistogram.svg +++ b/test/output/collapsedHistogram.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/contourCa55.svg b/test/output/contourCa55.svg index 16dd0d3190..a71de5a62f 100644 --- a/test/output/contourCa55.svg +++ b/test/output/contourCa55.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/contourVapor.svg b/test/output/contourVapor.svg index e669d9ac7e..fa1e59a104 100644 --- a/test/output/contourVapor.svg +++ b/test/output/contourVapor.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/countryCentroids.svg b/test/output/countryCentroids.svg index 5ab1a7d409..06d2c1cc95 100644 --- a/test/output/countryCentroids.svg +++ b/test/output/countryCentroids.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/covidIhmeProjectedDeaths.svg b/test/output/covidIhmeProjectedDeaths.svg index 7009a78f73..f2c9c78991 100644 --- a/test/output/covidIhmeProjectedDeaths.svg +++ b/test/output/covidIhmeProjectedDeaths.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/crimeanWarArrow.svg b/test/output/crimeanWarArrow.svg index d568147d51..6cbdd9b0e8 100644 --- a/test/output/crimeanWarArrow.svg +++ b/test/output/crimeanWarArrow.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/crimeanWarLine.svg b/test/output/crimeanWarLine.svg index 520448f16d..8a4581d3f4 100644 --- a/test/output/crimeanWarLine.svg +++ b/test/output/crimeanWarLine.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/crimeanWarOverlapped.svg b/test/output/crimeanWarOverlapped.svg index e8c14c03b8..c8ce87e509 100644 --- a/test/output/crimeanWarOverlapped.svg +++ b/test/output/crimeanWarOverlapped.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/crimeanWarStacked.svg b/test/output/crimeanWarStacked.svg index 73f5ec7c8e..7ac0a49b7c 100644 --- a/test/output/crimeanWarStacked.svg +++ b/test/output/crimeanWarStacked.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/d3Survey2015Comfort.svg b/test/output/d3Survey2015Comfort.svg index aca3a22280..00de2f47c7 100644 --- a/test/output/d3Survey2015Comfort.svg +++ b/test/output/d3Survey2015Comfort.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/d3Survey2015Why.svg b/test/output/d3Survey2015Why.svg index 62a6c96a40..59adba0ba4 100644 --- a/test/output/d3Survey2015Why.svg +++ b/test/output/d3Survey2015Why.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/darkerDodge.svg b/test/output/darkerDodge.svg index 9d59c10469..885cbdf99f 100644 --- a/test/output/darkerDodge.svg +++ b/test/output/darkerDodge.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/decathlon.html b/test/output/decathlon.html index e0a067f5a8..61394ba1e7 100644 --- a/test/output/decathlon.html +++ b/test/output/decathlon.html @@ -47,7 +47,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/diamondsBoxplot.svg b/test/output/diamondsBoxplot.svg index 3588500da8..7025dcbc99 100644 --- a/test/output/diamondsBoxplot.svg +++ b/test/output/diamondsBoxplot.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/diamondsCaratPrice.svg b/test/output/diamondsCaratPrice.svg index 3e299cb6f3..174e882d5c 100644 --- a/test/output/diamondsCaratPrice.svg +++ b/test/output/diamondsCaratPrice.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/diamondsCaratPriceDots.svg b/test/output/diamondsCaratPriceDots.svg index 3725f5d23a..a047134980 100644 --- a/test/output/diamondsCaratPriceDots.svg +++ b/test/output/diamondsCaratPriceDots.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/diamondsCaratSampling.svg b/test/output/diamondsCaratSampling.svg index 71f98f71bc..454163d940 100644 --- a/test/output/diamondsCaratSampling.svg +++ b/test/output/diamondsCaratSampling.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/documentationLinks.svg b/test/output/documentationLinks.svg index f3e08372af..1bf81d1de9 100644 --- a/test/output/documentationLinks.svg +++ b/test/output/documentationLinks.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/dodgeRule.svg b/test/output/dodgeRule.svg index 08abde84c0..65a2e3c45a 100644 --- a/test/output/dodgeRule.svg +++ b/test/output/dodgeRule.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/dodgeTextRadius.svg b/test/output/dodgeTextRadius.svg index 3b1fac8128..f23baabca7 100644 --- a/test/output/dodgeTextRadius.svg +++ b/test/output/dodgeTextRadius.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/dodgeTick.svg b/test/output/dodgeTick.svg index 06610a6c93..01b69b07f7 100644 --- a/test/output/dodgeTick.svg +++ b/test/output/dodgeTick.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/dotSort.html b/test/output/dotSort.html index 7bb97242bf..39a9d2683b 100644 --- a/test/output/dotSort.html +++ b/test/output/dotSort.html @@ -7,7 +7,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, @@ -37,7 +36,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, @@ -67,7 +65,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, @@ -97,7 +94,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, @@ -127,7 +123,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, @@ -157,7 +152,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, @@ -187,7 +181,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/downloads.svg b/test/output/downloads.svg index a17c485802..0a1d547c3c 100644 --- a/test/output/downloads.svg +++ b/test/output/downloads.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/downloadsOrdinal.svg b/test/output/downloadsOrdinal.svg index 8f9b9ad6b2..a4a5b232b7 100644 --- a/test/output/downloadsOrdinal.svg +++ b/test/output/downloadsOrdinal.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/driving.svg b/test/output/driving.svg index 337305e9e7..eacb3ff226 100644 --- a/test/output/driving.svg +++ b/test/output/driving.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/electricityDemand.svg b/test/output/electricityDemand.svg index 1f210550b2..7c9ace6b68 100644 --- a/test/output/electricityDemand.svg +++ b/test/output/electricityDemand.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/empty.svg b/test/output/empty.svg index 2c49f09e01..07ddee3cd3 100644 --- a/test/output/empty.svg +++ b/test/output/empty.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/emptyFacet.svg b/test/output/emptyFacet.svg index 756d917bdf..20359d2172 100644 --- a/test/output/emptyFacet.svg +++ b/test/output/emptyFacet.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/emptyLegend.svg b/test/output/emptyLegend.svg index 5ddac17555..26028ee166 100644 --- a/test/output/emptyLegend.svg +++ b/test/output/emptyLegend.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/emptyX.svg b/test/output/emptyX.svg index 5ddac17555..26028ee166 100644 --- a/test/output/emptyX.svg +++ b/test/output/emptyX.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/energyProduction.html b/test/output/energyProduction.html index 88f8dc1e9f..d12be04d6f 100644 --- a/test/output/energyProduction.html +++ b/test/output/energyProduction.html @@ -39,7 +39,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/faithfulDensity.svg b/test/output/faithfulDensity.svg index d8d922a21f..642a6149b9 100644 --- a/test/output/faithfulDensity.svg +++ b/test/output/faithfulDensity.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/faithfulDensity1d.svg b/test/output/faithfulDensity1d.svg index 14a8eec3be..8b586df10c 100644 --- a/test/output/faithfulDensity1d.svg +++ b/test/output/faithfulDensity1d.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/faithfulDensityFill.svg b/test/output/faithfulDensityFill.svg index 827b667cb8..6eea3f4cd4 100644 --- a/test/output/faithfulDensityFill.svg +++ b/test/output/faithfulDensityFill.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/federalFunds.svg b/test/output/federalFunds.svg index cdf036dc56..d3e5c06821 100644 --- a/test/output/federalFunds.svg +++ b/test/output/federalFunds.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/figcaption.html b/test/output/figcaption.html index ba9a63c54e..9e6f16c36c 100644 --- a/test/output/figcaption.html +++ b/test/output/figcaption.html @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/figcaptionHtml.html b/test/output/figcaptionHtml.html index 77793102a8..8ad1bd9022 100644 --- a/test/output/figcaptionHtml.html +++ b/test/output/figcaptionHtml.html @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/firstLadies.svg b/test/output/firstLadies.svg index 48e709b3d4..6b7622d144 100644 --- a/test/output/firstLadies.svg +++ b/test/output/firstLadies.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/flareCluster.svg b/test/output/flareCluster.svg index 6cb70c976a..6e54354e41 100644 --- a/test/output/flareCluster.svg +++ b/test/output/flareCluster.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/flareIndent.svg b/test/output/flareIndent.svg index f3e70ab04c..c21599c161 100644 --- a/test/output/flareIndent.svg +++ b/test/output/flareIndent.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/flareTree.svg b/test/output/flareTree.svg index b005b2887b..2d9271f72a 100644 --- a/test/output/flareTree.svg +++ b/test/output/flareTree.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/footballCoverage.svg b/test/output/footballCoverage.svg index 30fc5c2ddd..de6d8e03fd 100644 --- a/test/output/footballCoverage.svg +++ b/test/output/footballCoverage.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/frameCorners.svg b/test/output/frameCorners.svg index 5ff4dab6b2..6c4b4e19c7 100644 --- a/test/output/frameCorners.svg +++ b/test/output/frameCorners.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/frameFacet.svg b/test/output/frameFacet.svg index c52f82e7f9..d995f68ca6 100644 --- a/test/output/frameFacet.svg +++ b/test/output/frameFacet.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/frameFillCategorical.html b/test/output/frameFillCategorical.html index 6e3e7c2d14..09dec9776a 100644 --- a/test/output/frameFillCategorical.html +++ b/test/output/frameFillCategorical.html @@ -39,7 +39,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/frameFillQuantitative.html b/test/output/frameFillQuantitative.html index acd2db8dd6..6fec3e8e1e 100644 --- a/test/output/frameFillQuantitative.html +++ b/test/output/frameFillQuantitative.html @@ -48,7 +48,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/frameSides.svg b/test/output/frameSides.svg index a3256b557a..6951c062c1 100644 --- a/test/output/frameSides.svg +++ b/test/output/frameSides.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/frameSidesX.svg b/test/output/frameSidesX.svg index 2f8aac0b0f..9cc11f37af 100644 --- a/test/output/frameSidesX.svg +++ b/test/output/frameSidesX.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/frameSidesXY.svg b/test/output/frameSidesXY.svg index 07d20d5053..f331b8c7fc 100644 --- a/test/output/frameSidesXY.svg +++ b/test/output/frameSidesXY.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/frameSidesY.svg b/test/output/frameSidesY.svg index 923d587986..d43dc40b30 100644 --- a/test/output/frameSidesY.svg +++ b/test/output/frameSidesY.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/fruitSales.svg b/test/output/fruitSales.svg index 60d76a929d..ba70fb80a8 100644 --- a/test/output/fruitSales.svg +++ b/test/output/fruitSales.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/fruitSalesDate.svg b/test/output/fruitSalesDate.svg index 2a0dc57c81..4425c34153 100644 --- a/test/output/fruitSalesDate.svg +++ b/test/output/fruitSalesDate.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/functionContour.svg b/test/output/functionContour.svg index b842edf1e8..eeaac7e3c8 100644 --- a/test/output/functionContour.svg +++ b/test/output/functionContour.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/functionContourFaceted.svg b/test/output/functionContourFaceted.svg index 890483c349..e2b7f44fd5 100644 --- a/test/output/functionContourFaceted.svg +++ b/test/output/functionContourFaceted.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/functionContourFaceted2.svg b/test/output/functionContourFaceted2.svg index 890483c349..e2b7f44fd5 100644 --- a/test/output/functionContourFaceted2.svg +++ b/test/output/functionContourFaceted2.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/futureSplom.svg b/test/output/futureSplom.svg index 919492bafd..12ceb16f6c 100644 --- a/test/output/futureSplom.svg +++ b/test/output/futureSplom.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/geoLink.svg b/test/output/geoLink.svg index dff7164fae..6a5ecbeb61 100644 --- a/test/output/geoLink.svg +++ b/test/output/geoLink.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/gistempAnomaly.svg b/test/output/gistempAnomaly.svg index 7e7b053e18..093eb9884c 100644 --- a/test/output/gistempAnomaly.svg +++ b/test/output/gistempAnomaly.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/gistempAnomalyMoving.svg b/test/output/gistempAnomalyMoving.svg index 1747aa3de9..57c2a4d765 100644 --- a/test/output/gistempAnomalyMoving.svg +++ b/test/output/gistempAnomalyMoving.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/gistempAnomalyTransform.svg b/test/output/gistempAnomalyTransform.svg index 03e69e7d82..504b9de015 100644 --- a/test/output/gistempAnomalyTransform.svg +++ b/test/output/gistempAnomalyTransform.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/googleTrendsRidgeline.svg b/test/output/googleTrendsRidgeline.svg index bcfb2d8e21..deb225ade6 100644 --- a/test/output/googleTrendsRidgeline.svg +++ b/test/output/googleTrendsRidgeline.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/graticule.svg b/test/output/graticule.svg index 9f083556e6..d5ee13ac11 100644 --- a/test/output/graticule.svg +++ b/test/output/graticule.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/greekGods.svg b/test/output/greekGods.svg index 9c637ddd6a..8e88e87ec0 100644 --- a/test/output/greekGods.svg +++ b/test/output/greekGods.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/greekGodsExplicit.svg b/test/output/greekGodsExplicit.svg index fef11366f5..8f1adc4849 100644 --- a/test/output/greekGodsExplicit.svg +++ b/test/output/greekGodsExplicit.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/gridChoropleth.svg b/test/output/gridChoropleth.svg index f582e51b63..1e8a864b02 100644 --- a/test/output/gridChoropleth.svg +++ b/test/output/gridChoropleth.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/gridChoroplethDx.svg b/test/output/gridChoroplethDx.svg index e7427533d6..0a84911db1 100644 --- a/test/output/gridChoroplethDx.svg +++ b/test/output/gridChoroplethDx.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/gridReduceIdentity.svg b/test/output/gridReduceIdentity.svg index 3edac60aa2..270185a445 100644 --- a/test/output/gridReduceIdentity.svg +++ b/test/output/gridReduceIdentity.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/groupedRects.svg b/test/output/groupedRects.svg index 640f093ffd..1ab2d809de 100644 --- a/test/output/groupedRects.svg +++ b/test/output/groupedRects.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/hadcrutWarmingStripes.svg b/test/output/hadcrutWarmingStripes.svg index 15bf52cbe6..f6c043c161 100644 --- a/test/output/hadcrutWarmingStripes.svg +++ b/test/output/hadcrutWarmingStripes.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/heatmap.svg b/test/output/heatmap.svg index 3682834f89..56ff0eebec 100644 --- a/test/output/heatmap.svg +++ b/test/output/heatmap.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/heatmapArray.svg b/test/output/heatmapArray.svg index 3682834f89..56ff0eebec 100644 --- a/test/output/heatmapArray.svg +++ b/test/output/heatmapArray.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/heatmapConstantOpacity.svg b/test/output/heatmapConstantOpacity.svg index 943a413988..1c6ab32b33 100644 --- a/test/output/heatmapConstantOpacity.svg +++ b/test/output/heatmapConstantOpacity.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/heatmapFaceted.svg b/test/output/heatmapFaceted.svg index 0614a70390..cb80d84132 100644 --- a/test/output/heatmapFaceted.svg +++ b/test/output/heatmapFaceted.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/heatmapFillOpacity.svg b/test/output/heatmapFillOpacity.svg index 42ce2cd50d..9b073875da 100644 --- a/test/output/heatmapFillOpacity.svg +++ b/test/output/heatmapFillOpacity.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/heatmapLog.svg b/test/output/heatmapLog.svg index b0990c541f..340f4de176 100644 --- a/test/output/heatmapLog.svg +++ b/test/output/heatmapLog.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/heatmapOpacity.svg b/test/output/heatmapOpacity.svg index 257c000658..0fdd4d3d9d 100644 --- a/test/output/heatmapOpacity.svg +++ b/test/output/heatmapOpacity.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/heatmapPartial.svg b/test/output/heatmapPartial.svg index 83b8538603..cc3d63f874 100644 --- a/test/output/heatmapPartial.svg +++ b/test/output/heatmapPartial.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/hexbin.svg b/test/output/hexbin.svg index cf392bb0a2..9a68c8e133 100644 --- a/test/output/hexbin.svg +++ b/test/output/hexbin.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/hexbinIdentityReduce.svg b/test/output/hexbinIdentityReduce.svg index c5d7540a3b..46d5b11a90 100644 --- a/test/output/hexbinIdentityReduce.svg +++ b/test/output/hexbinIdentityReduce.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/hexbinOranges.svg b/test/output/hexbinOranges.svg index 72963f3e15..9bb323604f 100644 --- a/test/output/hexbinOranges.svg +++ b/test/output/hexbinOranges.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/hexbinR.html b/test/output/hexbinR.html index 25e5550092..f24daf11db 100644 --- a/test/output/hexbinR.html +++ b/test/output/hexbinR.html @@ -41,7 +41,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/hexbinSymbol.html b/test/output/hexbinSymbol.html index cd4af80961..a3762a1246 100644 --- a/test/output/hexbinSymbol.html +++ b/test/output/hexbinSymbol.html @@ -39,7 +39,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/hexbinText.svg b/test/output/hexbinText.svg index d6cd86736e..354ab5a8da 100644 --- a/test/output/hexbinText.svg +++ b/test/output/hexbinText.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/hexbinZ.html b/test/output/hexbinZ.html index bab27dfcbb..0356239603 100644 --- a/test/output/hexbinZ.html +++ b/test/output/hexbinZ.html @@ -39,7 +39,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/hexbinZNull.svg b/test/output/hexbinZNull.svg index 75e87ee9e4..5baa97d18c 100644 --- a/test/output/hexbinZNull.svg +++ b/test/output/hexbinZNull.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/highCardinalityOrdinal.svg b/test/output/highCardinalityOrdinal.svg index 0e60fbbbc8..6bfc0b4689 100644 --- a/test/output/highCardinalityOrdinal.svg +++ b/test/output/highCardinalityOrdinal.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/hrefFill.svg b/test/output/hrefFill.svg index 34cc1487a0..09f1fd7d27 100644 --- a/test/output/hrefFill.svg +++ b/test/output/hrefFill.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/ibmTrading.svg b/test/output/ibmTrading.svg index 41a99607cd..acea2508f6 100644 --- a/test/output/ibmTrading.svg +++ b/test/output/ibmTrading.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/identityScale.svg b/test/output/identityScale.svg index 0bb896a0e3..59e4cd53cd 100644 --- a/test/output/identityScale.svg +++ b/test/output/identityScale.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/imagePixelated.svg b/test/output/imagePixelated.svg index 3a18424508..f37359698c 100644 --- a/test/output/imagePixelated.svg +++ b/test/output/imagePixelated.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/industryUnemployment.svg b/test/output/industryUnemployment.svg index a989c16ac2..ad26238b60 100644 --- a/test/output/industryUnemployment.svg +++ b/test/output/industryUnemployment.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/industryUnemploymentShare.svg b/test/output/industryUnemploymentShare.svg index dc57eedba5..f4ee7f80c8 100644 --- a/test/output/industryUnemploymentShare.svg +++ b/test/output/industryUnemploymentShare.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/industryUnemploymentStream.svg b/test/output/industryUnemploymentStream.svg index 6ab5f4aff0..0dfc333e77 100644 --- a/test/output/industryUnemploymentStream.svg +++ b/test/output/industryUnemploymentStream.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/industryUnemploymentTrack.svg b/test/output/industryUnemploymentTrack.svg index e20c64b931..1fdb4b52c6 100644 --- a/test/output/industryUnemploymentTrack.svg +++ b/test/output/industryUnemploymentTrack.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/infinityLog.svg b/test/output/infinityLog.svg index 856514c69e..29f8c25471 100644 --- a/test/output/infinityLog.svg +++ b/test/output/infinityLog.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/integerInterval.svg b/test/output/integerInterval.svg index 776aa7c06e..45f71125ea 100644 --- a/test/output/integerInterval.svg +++ b/test/output/integerInterval.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/internFacetDate.svg b/test/output/internFacetDate.svg index 5678997ace..93fb889a26 100644 --- a/test/output/internFacetDate.svg +++ b/test/output/internFacetDate.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/internFacetNaN.svg b/test/output/internFacetNaN.svg index 908f9c9a7b..ee1056d738 100644 --- a/test/output/internFacetNaN.svg +++ b/test/output/internFacetNaN.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/intervalAwareBin.svg b/test/output/intervalAwareBin.svg index 65c6a4e3f4..125ee55b60 100644 --- a/test/output/intervalAwareBin.svg +++ b/test/output/intervalAwareBin.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/intervalAwareGroup.svg b/test/output/intervalAwareGroup.svg index cf45e5b9ce..60b422dd8c 100644 --- a/test/output/intervalAwareGroup.svg +++ b/test/output/intervalAwareGroup.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/intervalAwareStack.svg b/test/output/intervalAwareStack.svg index 9c8a5be28e..f7f35b3235 100644 --- a/test/output/intervalAwareStack.svg +++ b/test/output/intervalAwareStack.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/intradayHistogram.svg b/test/output/intradayHistogram.svg index 8d08b1d184..75ea137278 100644 --- a/test/output/intradayHistogram.svg +++ b/test/output/intradayHistogram.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/kittenConstant.svg b/test/output/kittenConstant.svg index f01cbd8c85..87e5f19771 100644 --- a/test/output/kittenConstant.svg +++ b/test/output/kittenConstant.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/kittenConstantRotate.svg b/test/output/kittenConstantRotate.svg index 67eeec0721..b36f1728d4 100644 --- a/test/output/kittenConstantRotate.svg +++ b/test/output/kittenConstantRotate.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/kittenConstantWidthHeight.svg b/test/output/kittenConstantWidthHeight.svg index 5a7fed1463..74ce54e201 100644 --- a/test/output/kittenConstantWidthHeight.svg +++ b/test/output/kittenConstantWidthHeight.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/kittenVariable.svg b/test/output/kittenVariable.svg index d6cb991822..9e927948ae 100644 --- a/test/output/kittenVariable.svg +++ b/test/output/kittenVariable.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/kittenVariableDodge.svg b/test/output/kittenVariableDodge.svg index 80b3a573d5..c505f2edc2 100644 --- a/test/output/kittenVariableDodge.svg +++ b/test/output/kittenVariableDodge.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/kittenVariableRotate.svg b/test/output/kittenVariableRotate.svg index 2dc75c21cc..8328c8745c 100644 --- a/test/output/kittenVariableRotate.svg +++ b/test/output/kittenVariableRotate.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/learningPoverty.svg b/test/output/learningPoverty.svg index ee5408620d..082a864ac5 100644 --- a/test/output/learningPoverty.svg +++ b/test/output/learningPoverty.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/letterFrequencyBar.svg b/test/output/letterFrequencyBar.svg index 0cd442e554..d1b0b15ebb 100644 --- a/test/output/letterFrequencyBar.svg +++ b/test/output/letterFrequencyBar.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/letterFrequencyCloud.svg b/test/output/letterFrequencyCloud.svg index 4b182378a0..cccdd61087 100644 --- a/test/output/letterFrequencyCloud.svg +++ b/test/output/letterFrequencyCloud.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/letterFrequencyColumn.svg b/test/output/letterFrequencyColumn.svg index d73aa0ddf9..3ca1a31b8e 100644 --- a/test/output/letterFrequencyColumn.svg +++ b/test/output/letterFrequencyColumn.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/letterFrequencyDot.svg b/test/output/letterFrequencyDot.svg index 1f4d4058a5..932d1d8e3b 100644 --- a/test/output/letterFrequencyDot.svg +++ b/test/output/letterFrequencyDot.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/letterFrequencyLollipop.svg b/test/output/letterFrequencyLollipop.svg index 3fcd69f211..8720939638 100644 --- a/test/output/letterFrequencyLollipop.svg +++ b/test/output/letterFrequencyLollipop.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/letterFrequencyWheel.svg b/test/output/letterFrequencyWheel.svg index 1c33a7ed48..74f8f9a01b 100644 --- a/test/output/letterFrequencyWheel.svg +++ b/test/output/letterFrequencyWheel.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/liborProjections.svg b/test/output/liborProjections.svg index c64d7c49f6..07a355da5e 100644 --- a/test/output/liborProjections.svg +++ b/test/output/liborProjections.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/likertSurvey.html b/test/output/likertSurvey.html index 30fb032c0a..bafcad0b79 100644 --- a/test/output/likertSurvey.html +++ b/test/output/likertSurvey.html @@ -43,7 +43,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/linearRegressionCars.svg b/test/output/linearRegressionCars.svg index 10d081e129..35c8829baa 100644 --- a/test/output/linearRegressionCars.svg +++ b/test/output/linearRegressionCars.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/linearRegressionMtcars.svg b/test/output/linearRegressionMtcars.svg index 63f931fab4..281a18c973 100644 --- a/test/output/linearRegressionMtcars.svg +++ b/test/output/linearRegressionMtcars.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/linearRegressionPenguins.svg b/test/output/linearRegressionPenguins.svg index a8d3bf08c4..025b2bfbfb 100644 --- a/test/output/linearRegressionPenguins.svg +++ b/test/output/linearRegressionPenguins.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/logDegenerate.svg b/test/output/logDegenerate.svg index 12242ef9a5..c4b30d7b81 100644 --- a/test/output/logDegenerate.svg +++ b/test/output/logDegenerate.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/longLabels.svg b/test/output/longLabels.svg index ad5f835133..84dbc6a68b 100644 --- a/test/output/longLabels.svg +++ b/test/output/longLabels.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/mandelbrot.svg b/test/output/mandelbrot.svg index e82cd3ddc8..68074a7b4e 100644 --- a/test/output/mandelbrot.svg +++ b/test/output/mandelbrot.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/markovChain.svg b/test/output/markovChain.svg index 5ae8f85d89..5e1030551f 100644 --- a/test/output/markovChain.svg +++ b/test/output/markovChain.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/metroInequality.svg b/test/output/metroInequality.svg index 29b9be0f61..ccfa66c249 100644 --- a/test/output/metroInequality.svg +++ b/test/output/metroInequality.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/metroInequalityChange.svg b/test/output/metroInequalityChange.svg index 4193c4b324..e11fc6aa8c 100644 --- a/test/output/metroInequalityChange.svg +++ b/test/output/metroInequalityChange.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/metroUnemployment.svg b/test/output/metroUnemployment.svg index a69415075f..041e0444b8 100644 --- a/test/output/metroUnemployment.svg +++ b/test/output/metroUnemployment.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/metroUnemploymentHighlight.svg b/test/output/metroUnemploymentHighlight.svg index 6981e53e52..562f15b3d1 100644 --- a/test/output/metroUnemploymentHighlight.svg +++ b/test/output/metroUnemploymentHighlight.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/metroUnemploymentIndex.svg b/test/output/metroUnemploymentIndex.svg index c3ed37b720..f8a8ddbc5b 100644 --- a/test/output/metroUnemploymentIndex.svg +++ b/test/output/metroUnemploymentIndex.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/metroUnemploymentMoving.svg b/test/output/metroUnemploymentMoving.svg index 35961913f2..9f082e3074 100644 --- a/test/output/metroUnemploymentMoving.svg +++ b/test/output/metroUnemploymentMoving.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/metroUnemploymentNormalize.svg b/test/output/metroUnemploymentNormalize.svg index 80ec73545b..02d83f207c 100644 --- a/test/output/metroUnemploymentNormalize.svg +++ b/test/output/metroUnemploymentNormalize.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/metroUnemploymentRidgeline.svg b/test/output/metroUnemploymentRidgeline.svg index 0de7a237e4..48d7415254 100644 --- a/test/output/metroUnemploymentRidgeline.svg +++ b/test/output/metroUnemploymentRidgeline.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/metroUnemploymentSlope.svg b/test/output/metroUnemploymentSlope.svg index 42649d8359..bc3bdb7073 100644 --- a/test/output/metroUnemploymentSlope.svg +++ b/test/output/metroUnemploymentSlope.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/metroUnemploymentStroke.svg b/test/output/metroUnemploymentStroke.svg index 52a5d1a785..f146ab05fb 100644 --- a/test/output/metroUnemploymentStroke.svg +++ b/test/output/metroUnemploymentStroke.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/mobyDick.svg b/test/output/mobyDick.svg index d20d581fad..cdbb9b9fea 100644 --- a/test/output/mobyDick.svg +++ b/test/output/mobyDick.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/mobyDickFaceted.svg b/test/output/mobyDickFaceted.svg index 99ae79aacc..7e8899b166 100644 --- a/test/output/mobyDickFaceted.svg +++ b/test/output/mobyDickFaceted.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/mobyDickLetterFrequency.svg b/test/output/mobyDickLetterFrequency.svg index 2857b62cfc..5f1e0dafe2 100644 --- a/test/output/mobyDickLetterFrequency.svg +++ b/test/output/mobyDickLetterFrequency.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/mobyDickLetterPairs.svg b/test/output/mobyDickLetterPairs.svg index a3477ed703..75932be4e7 100644 --- a/test/output/mobyDickLetterPairs.svg +++ b/test/output/mobyDickLetterPairs.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/mobyDickLetterPosition.svg b/test/output/mobyDickLetterPosition.svg index 0bba7a1511..e7e595f136 100644 --- a/test/output/mobyDickLetterPosition.svg +++ b/test/output/mobyDickLetterPosition.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/mobyDickLetterRelativeFrequency.svg b/test/output/mobyDickLetterRelativeFrequency.svg index e88b84190b..00540f64f6 100644 --- a/test/output/mobyDickLetterRelativeFrequency.svg +++ b/test/output/mobyDickLetterRelativeFrequency.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/morleyBoxplot.svg b/test/output/morleyBoxplot.svg index f54c7411b7..e0843ea9c2 100644 --- a/test/output/morleyBoxplot.svg +++ b/test/output/morleyBoxplot.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/moviesProfitByGenre.svg b/test/output/moviesProfitByGenre.svg index 8e14160271..738f51487a 100644 --- a/test/output/moviesProfitByGenre.svg +++ b/test/output/moviesProfitByGenre.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/moviesRatingByGenre.svg b/test/output/moviesRatingByGenre.svg index a18a077b72..abd8f8594e 100644 --- a/test/output/moviesRatingByGenre.svg +++ b/test/output/moviesRatingByGenre.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/multiplicationTable.svg b/test/output/multiplicationTable.svg index 406d963f46..bf541780b0 100644 --- a/test/output/multiplicationTable.svg +++ b/test/output/multiplicationTable.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/musicRevenue.svg b/test/output/musicRevenue.svg index 1bf86c146c..1ca982b7ae 100644 --- a/test/output/musicRevenue.svg +++ b/test/output/musicRevenue.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/npmVersions.svg b/test/output/npmVersions.svg index 6c6252b1f9..4a5ad01e84 100644 --- a/test/output/npmVersions.svg +++ b/test/output/npmVersions.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/ordinalBar.svg b/test/output/ordinalBar.svg index 9d227d2563..25b5591ca8 100644 --- a/test/output/ordinalBar.svg +++ b/test/output/ordinalBar.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinAnnotated.svg b/test/output/penguinAnnotated.svg index 930a2bd4c0..57ef8a5158 100644 --- a/test/output/penguinAnnotated.svg +++ b/test/output/penguinAnnotated.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinCulmen.svg b/test/output/penguinCulmen.svg index 583e358542..9d633b2571 100644 --- a/test/output/penguinCulmen.svg +++ b/test/output/penguinCulmen.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinCulmenArray.svg b/test/output/penguinCulmenArray.svg index 4e88d65ff3..06166cc361 100644 --- a/test/output/penguinCulmenArray.svg +++ b/test/output/penguinCulmenArray.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinCulmenDelaunay.svg b/test/output/penguinCulmenDelaunay.svg index ae5491dd3d..f7e7af50ed 100644 --- a/test/output/penguinCulmenDelaunay.svg +++ b/test/output/penguinCulmenDelaunay.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinCulmenDelaunayMesh.svg b/test/output/penguinCulmenDelaunayMesh.svg index 5c9cf98dbe..3f5aa02d05 100644 --- a/test/output/penguinCulmenDelaunayMesh.svg +++ b/test/output/penguinCulmenDelaunayMesh.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinCulmenDelaunaySpecies.svg b/test/output/penguinCulmenDelaunaySpecies.svg index 6e9c393949..9127e36f45 100644 --- a/test/output/penguinCulmenDelaunaySpecies.svg +++ b/test/output/penguinCulmenDelaunaySpecies.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinCulmenMarkFacet.svg b/test/output/penguinCulmenMarkFacet.svg index bd15425b94..a6d4797c7e 100644 --- a/test/output/penguinCulmenMarkFacet.svg +++ b/test/output/penguinCulmenMarkFacet.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinCulmenVoronoi.svg b/test/output/penguinCulmenVoronoi.svg index 9e801a935a..5158383aeb 100644 --- a/test/output/penguinCulmenVoronoi.svg +++ b/test/output/penguinCulmenVoronoi.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinDensity.svg b/test/output/penguinDensity.svg index ee4632f288..08617640e1 100644 --- a/test/output/penguinDensity.svg +++ b/test/output/penguinDensity.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinDensityFill.html b/test/output/penguinDensityFill.html index 63c0dacf30..16e36ef585 100644 --- a/test/output/penguinDensityFill.html +++ b/test/output/penguinDensityFill.html @@ -41,7 +41,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinDensityZ.html b/test/output/penguinDensityZ.html index 63076c979e..3aaf1d1a8c 100644 --- a/test/output/penguinDensityZ.html +++ b/test/output/penguinDensityZ.html @@ -39,7 +39,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinDodge.svg b/test/output/penguinDodge.svg index 227c1f44ac..0c5acf53f2 100644 --- a/test/output/penguinDodge.svg +++ b/test/output/penguinDodge.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinDodgeHexbin.svg b/test/output/penguinDodgeHexbin.svg index 017efa1ac9..b1f509e62e 100644 --- a/test/output/penguinDodgeHexbin.svg +++ b/test/output/penguinDodgeHexbin.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinDodgeVoronoi.svg b/test/output/penguinDodgeVoronoi.svg index 351ba60437..9a3d461ede 100644 --- a/test/output/penguinDodgeVoronoi.svg +++ b/test/output/penguinDodgeVoronoi.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinFacetAnnotated.svg b/test/output/penguinFacetAnnotated.svg index a0a3b83052..ac5a99b86c 100644 --- a/test/output/penguinFacetAnnotated.svg +++ b/test/output/penguinFacetAnnotated.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinFacetAnnotatedX.svg b/test/output/penguinFacetAnnotatedX.svg index 057191493a..55ea3e1300 100644 --- a/test/output/penguinFacetAnnotatedX.svg +++ b/test/output/penguinFacetAnnotatedX.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinFacetDodge.svg b/test/output/penguinFacetDodge.svg index 053e0e5955..841b59bf3a 100644 --- a/test/output/penguinFacetDodge.svg +++ b/test/output/penguinFacetDodge.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinFacetDodgeIdentity.svg b/test/output/penguinFacetDodgeIdentity.svg index 394c81b2b4..33d966d178 100644 --- a/test/output/penguinFacetDodgeIdentity.svg +++ b/test/output/penguinFacetDodgeIdentity.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinFacetDodgeIsland.html b/test/output/penguinFacetDodgeIsland.html index 8eef2b2623..f4e2665a69 100644 --- a/test/output/penguinFacetDodgeIsland.html +++ b/test/output/penguinFacetDodgeIsland.html @@ -39,7 +39,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinFacetDodgeSymbol.html b/test/output/penguinFacetDodgeSymbol.html index e9375ecca4..d5c8ac2a38 100644 --- a/test/output/penguinFacetDodgeSymbol.html +++ b/test/output/penguinFacetDodgeSymbol.html @@ -39,7 +39,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinHexbinColorExplicit.svg b/test/output/penguinHexbinColorExplicit.svg index 2c8415b1de..239d7d8901 100644 --- a/test/output/penguinHexbinColorExplicit.svg +++ b/test/output/penguinHexbinColorExplicit.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinIslandUnknown.svg b/test/output/penguinIslandUnknown.svg index bec9e400bf..8608f59d88 100644 --- a/test/output/penguinIslandUnknown.svg +++ b/test/output/penguinIslandUnknown.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinMass.svg b/test/output/penguinMass.svg index a3a316d6fd..c4b7955ea9 100644 --- a/test/output/penguinMass.svg +++ b/test/output/penguinMass.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinMassSex.svg b/test/output/penguinMassSex.svg index c706687007..663c9bea5f 100644 --- a/test/output/penguinMassSex.svg +++ b/test/output/penguinMassSex.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinMassSexSpecies.svg b/test/output/penguinMassSexSpecies.svg index 3d0fd8f37d..30721c6a67 100644 --- a/test/output/penguinMassSexSpecies.svg +++ b/test/output/penguinMassSexSpecies.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinMassSpecies.svg b/test/output/penguinMassSpecies.svg index 98e83f6a2c..008bae66db 100644 --- a/test/output/penguinMassSpecies.svg +++ b/test/output/penguinMassSpecies.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinNA1.svg b/test/output/penguinNA1.svg index ab502a3c13..af88107510 100644 --- a/test/output/penguinNA1.svg +++ b/test/output/penguinNA1.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinNA2.svg b/test/output/penguinNA2.svg index 9150a8b363..42a1466e15 100644 --- a/test/output/penguinNA2.svg +++ b/test/output/penguinNA2.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinNA3.svg b/test/output/penguinNA3.svg index 1f7326a85d..288a036ea3 100644 --- a/test/output/penguinNA3.svg +++ b/test/output/penguinNA3.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinQuantileEmpty.svg b/test/output/penguinQuantileEmpty.svg index 4fcdee5c46..09a0eaa2ae 100644 --- a/test/output/penguinQuantileEmpty.svg +++ b/test/output/penguinQuantileEmpty.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinQuantileUnknown.html b/test/output/penguinQuantileUnknown.html index ce6b633232..4a1327c9e4 100644 --- a/test/output/penguinQuantileUnknown.html +++ b/test/output/penguinQuantileUnknown.html @@ -47,7 +47,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinSex.svg b/test/output/penguinSex.svg index be6b355b2c..646c30c79a 100644 --- a/test/output/penguinSex.svg +++ b/test/output/penguinSex.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinSexMassCulmenSpecies.svg b/test/output/penguinSexMassCulmenSpecies.svg index 7c136ea6e7..a10962acce 100644 --- a/test/output/penguinSexMassCulmenSpecies.svg +++ b/test/output/penguinSexMassCulmenSpecies.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinSizeSymbols.html b/test/output/penguinSizeSymbols.html index ea43239ebb..53cd8382fe 100644 --- a/test/output/penguinSizeSymbols.html +++ b/test/output/penguinSizeSymbols.html @@ -39,7 +39,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinSpeciesCheysson.html b/test/output/penguinSpeciesCheysson.html index 5a5b9a0457..02a66b4888 100644 --- a/test/output/penguinSpeciesCheysson.html +++ b/test/output/penguinSpeciesCheysson.html @@ -39,7 +39,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinSpeciesGradient.svg b/test/output/penguinSpeciesGradient.svg index baa10ca09a..8fd1fa7812 100644 --- a/test/output/penguinSpeciesGradient.svg +++ b/test/output/penguinSpeciesGradient.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinSpeciesGroup.svg b/test/output/penguinSpeciesGroup.svg index a3f54e80d4..52fa48f8c0 100644 --- a/test/output/penguinSpeciesGroup.svg +++ b/test/output/penguinSpeciesGroup.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinSpeciesIsland.svg b/test/output/penguinSpeciesIsland.svg index ccdfbd79f9..92ba6a289d 100644 --- a/test/output/penguinSpeciesIsland.svg +++ b/test/output/penguinSpeciesIsland.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinSpeciesIslandRelative.svg b/test/output/penguinSpeciesIslandRelative.svg index 420ad07198..1c3836bf2b 100644 --- a/test/output/penguinSpeciesIslandRelative.svg +++ b/test/output/penguinSpeciesIslandRelative.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinSpeciesIslandSex.svg b/test/output/penguinSpeciesIslandSex.svg index f797cfdaee..f9ec7067d3 100644 --- a/test/output/penguinSpeciesIslandSex.svg +++ b/test/output/penguinSpeciesIslandSex.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/penguinVoronoi1D.svg b/test/output/penguinVoronoi1D.svg index 1da32daef1..2579dafbca 100644 --- a/test/output/penguinVoronoi1D.svg +++ b/test/output/penguinVoronoi1D.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/polylinear.svg b/test/output/polylinear.svg index 8a1e8da667..88f14a7316 100644 --- a/test/output/polylinear.svg +++ b/test/output/polylinear.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/populationByLatitude.svg b/test/output/populationByLatitude.svg index 64ab399f6d..33292634ee 100644 --- a/test/output/populationByLatitude.svg +++ b/test/output/populationByLatitude.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/populationByLongitude.svg b/test/output/populationByLongitude.svg index 4a40e3ff53..c7ecc90e20 100644 --- a/test/output/populationByLongitude.svg +++ b/test/output/populationByLongitude.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionBleedEdges.svg b/test/output/projectionBleedEdges.svg index 674f5c09e5..1957973535 100644 --- a/test/output/projectionBleedEdges.svg +++ b/test/output/projectionBleedEdges.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionBleedEdges2.svg b/test/output/projectionBleedEdges2.svg index 9acd254507..b1af6ad33a 100644 --- a/test/output/projectionBleedEdges2.svg +++ b/test/output/projectionBleedEdges2.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionClipAngle.svg b/test/output/projectionClipAngle.svg index 28ee6c01ce..cba904e588 100644 --- a/test/output/projectionClipAngle.svg +++ b/test/output/projectionClipAngle.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionClipAngleFrame.svg b/test/output/projectionClipAngleFrame.svg index 7ab0deca40..ae55f56e1f 100644 --- a/test/output/projectionClipAngleFrame.svg +++ b/test/output/projectionClipAngleFrame.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionClipBerghaus.svg b/test/output/projectionClipBerghaus.svg index b35c5c0b58..156ab9e0e2 100644 --- a/test/output/projectionClipBerghaus.svg +++ b/test/output/projectionClipBerghaus.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionFitAntarctica.svg b/test/output/projectionFitAntarctica.svg index 2a005be874..05f4e55318 100644 --- a/test/output/projectionFitAntarctica.svg +++ b/test/output/projectionFitAntarctica.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionFitBertin1953.svg b/test/output/projectionFitBertin1953.svg index c148a776a3..29200805f2 100644 --- a/test/output/projectionFitBertin1953.svg +++ b/test/output/projectionFitBertin1953.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionFitConic.svg b/test/output/projectionFitConic.svg index a95b2fa588..dd7a439e1d 100644 --- a/test/output/projectionFitConic.svg +++ b/test/output/projectionFitConic.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionFitIdentity.svg b/test/output/projectionFitIdentity.svg index ed539f1e63..2276c25157 100644 --- a/test/output/projectionFitIdentity.svg +++ b/test/output/projectionFitIdentity.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionFitUsAlbers.svg b/test/output/projectionFitUsAlbers.svg index 562eea5a29..9f470e7e45 100644 --- a/test/output/projectionFitUsAlbers.svg +++ b/test/output/projectionFitUsAlbers.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionHeightAlbers.svg b/test/output/projectionHeightAlbers.svg index 22d68b0321..64af95d7bd 100644 --- a/test/output/projectionHeightAlbers.svg +++ b/test/output/projectionHeightAlbers.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionHeightEqualEarth.svg b/test/output/projectionHeightEqualEarth.svg index 62b3186719..419a217896 100644 --- a/test/output/projectionHeightEqualEarth.svg +++ b/test/output/projectionHeightEqualEarth.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionHeightGeometry.svg b/test/output/projectionHeightGeometry.svg index a91ecc53fc..2080d79823 100644 --- a/test/output/projectionHeightGeometry.svg +++ b/test/output/projectionHeightGeometry.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionHeightMercator.svg b/test/output/projectionHeightMercator.svg index 1c023adfb8..b71ba12991 100644 --- a/test/output/projectionHeightMercator.svg +++ b/test/output/projectionHeightMercator.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/projectionHeightOrthographic.svg b/test/output/projectionHeightOrthographic.svg index 6a740bf4ef..6609f0b076 100644 --- a/test/output/projectionHeightOrthographic.svg +++ b/test/output/projectionHeightOrthographic.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/randomBins.svg b/test/output/randomBins.svg index 0de53368b4..ca56ffdabf 100644 --- a/test/output/randomBins.svg +++ b/test/output/randomBins.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/randomBinsXY.svg b/test/output/randomBinsXY.svg index 34995548a1..10c441cf91 100644 --- a/test/output/randomBinsXY.svg +++ b/test/output/randomBinsXY.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/randomQuantile.svg b/test/output/randomQuantile.svg index c18c026b11..b9622f0458 100644 --- a/test/output/randomQuantile.svg +++ b/test/output/randomQuantile.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/randomWalk.svg b/test/output/randomWalk.svg index cfd66f0ff5..f091a6ec7e 100644 --- a/test/output/randomWalk.svg +++ b/test/output/randomWalk.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterCa55Barycentric.svg b/test/output/rasterCa55Barycentric.svg index ff11707eb5..463c98d850 100644 --- a/test/output/rasterCa55Barycentric.svg +++ b/test/output/rasterCa55Barycentric.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterCa55Color.svg b/test/output/rasterCa55Color.svg index a4cf9c9ff9..18bfb75f5d 100644 --- a/test/output/rasterCa55Color.svg +++ b/test/output/rasterCa55Color.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterCa55Nearest.svg b/test/output/rasterCa55Nearest.svg index 1d8998e831..fb18a9701a 100644 --- a/test/output/rasterCa55Nearest.svg +++ b/test/output/rasterCa55Nearest.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterCa55None.svg b/test/output/rasterCa55None.svg index d5bae82b90..51320f6056 100644 --- a/test/output/rasterCa55None.svg +++ b/test/output/rasterCa55None.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterCa55RandomWalk.svg b/test/output/rasterCa55RandomWalk.svg index 9455f3e636..5942511620 100644 --- a/test/output/rasterCa55RandomWalk.svg +++ b/test/output/rasterCa55RandomWalk.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterPenguinsBarycentric.svg b/test/output/rasterPenguinsBarycentric.svg index fc998c2c20..fb5f3197e5 100644 --- a/test/output/rasterPenguinsBarycentric.svg +++ b/test/output/rasterPenguinsBarycentric.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterPenguinsBlur.svg b/test/output/rasterPenguinsBlur.svg index 0526f34119..5058069f86 100644 --- a/test/output/rasterPenguinsBlur.svg +++ b/test/output/rasterPenguinsBlur.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterPenguinsRandomWalk.svg b/test/output/rasterPenguinsRandomWalk.svg index ffd99fd9fd..9df56baa3b 100644 --- a/test/output/rasterPenguinsRandomWalk.svg +++ b/test/output/rasterPenguinsRandomWalk.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterVapor.svg b/test/output/rasterVapor.svg index bb8aa8d386..cb533b5f1a 100644 --- a/test/output/rasterVapor.svg +++ b/test/output/rasterVapor.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterVapor2.html b/test/output/rasterVapor2.html index 37eef799df..8fb782f84a 100644 --- a/test/output/rasterVapor2.html +++ b/test/output/rasterVapor2.html @@ -40,7 +40,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterVaporEqualEarth.svg b/test/output/rasterVaporEqualEarth.svg index e6ecc1516d..aea5e5a28f 100644 --- a/test/output/rasterVaporEqualEarth.svg +++ b/test/output/rasterVaporEqualEarth.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterVaporEqualEarthBarycentric.svg b/test/output/rasterVaporEqualEarthBarycentric.svg index 6b944e4701..97351c8168 100644 --- a/test/output/rasterVaporEqualEarthBarycentric.svg +++ b/test/output/rasterVaporEqualEarthBarycentric.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterVaporPeters.svg b/test/output/rasterVaporPeters.svg index 2c29361098..52be7731ce 100644 --- a/test/output/rasterVaporPeters.svg +++ b/test/output/rasterVaporPeters.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterWalmartBarycentric.svg b/test/output/rasterWalmartBarycentric.svg index a4252d0772..e5d72b6d2a 100644 --- a/test/output/rasterWalmartBarycentric.svg +++ b/test/output/rasterWalmartBarycentric.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterWalmartBarycentricOpacity.svg b/test/output/rasterWalmartBarycentricOpacity.svg index a8eaf1eecf..02629ee3da 100644 --- a/test/output/rasterWalmartBarycentricOpacity.svg +++ b/test/output/rasterWalmartBarycentricOpacity.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterWalmartRandomWalk.svg b/test/output/rasterWalmartRandomWalk.svg index e393c47ada..fe30752a30 100644 --- a/test/output/rasterWalmartRandomWalk.svg +++ b/test/output/rasterWalmartRandomWalk.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rasterWalmartWalkOpacity.svg b/test/output/rasterWalmartWalkOpacity.svg index c52af77ed6..5a340d22d3 100644 --- a/test/output/rasterWalmartWalkOpacity.svg +++ b/test/output/rasterWalmartWalkOpacity.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/rectBand.svg b/test/output/rectBand.svg index 02c0205096..9a06bab5db 100644 --- a/test/output/rectBand.svg +++ b/test/output/rectBand.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/reducerScaleOverrideFunction.svg b/test/output/reducerScaleOverrideFunction.svg index 0ef5be9a2d..56beac0a77 100644 --- a/test/output/reducerScaleOverrideFunction.svg +++ b/test/output/reducerScaleOverrideFunction.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/reducerScaleOverrideImplementation.svg b/test/output/reducerScaleOverrideImplementation.svg index 0ef5be9a2d..56beac0a77 100644 --- a/test/output/reducerScaleOverrideImplementation.svg +++ b/test/output/reducerScaleOverrideImplementation.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/reducerScaleOverrideName.svg b/test/output/reducerScaleOverrideName.svg index 0ef5be9a2d..56beac0a77 100644 --- a/test/output/reducerScaleOverrideName.svg +++ b/test/output/reducerScaleOverrideName.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/seattlePrecipitationDensity.svg b/test/output/seattlePrecipitationDensity.svg index 77c88defb7..0f7b3616a0 100644 --- a/test/output/seattlePrecipitationDensity.svg +++ b/test/output/seattlePrecipitationDensity.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/seattlePrecipitationRule.svg b/test/output/seattlePrecipitationRule.svg index 78da8a802c..c7a8341146 100644 --- a/test/output/seattlePrecipitationRule.svg +++ b/test/output/seattlePrecipitationRule.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/seattlePrecipitationSum.svg b/test/output/seattlePrecipitationSum.svg index 1738308809..da4dfb089c 100644 --- a/test/output/seattlePrecipitationSum.svg +++ b/test/output/seattlePrecipitationSum.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/seattleTemperatureAmplitude.html b/test/output/seattleTemperatureAmplitude.html index 267acd0cb7..9a11e575a6 100644 --- a/test/output/seattleTemperatureAmplitude.html +++ b/test/output/seattleTemperatureAmplitude.html @@ -48,7 +48,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/seattleTemperatureBand.svg b/test/output/seattleTemperatureBand.svg index 7f4737406d..3570599b10 100644 --- a/test/output/seattleTemperatureBand.svg +++ b/test/output/seattleTemperatureBand.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/seattleTemperatureCell.svg b/test/output/seattleTemperatureCell.svg index adf232127d..d0f7affe2c 100644 --- a/test/output/seattleTemperatureCell.svg +++ b/test/output/seattleTemperatureCell.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/sfCovidDeaths.svg b/test/output/sfCovidDeaths.svg index 0573459867..54bb86183c 100644 --- a/test/output/sfCovidDeaths.svg +++ b/test/output/sfCovidDeaths.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/sfTemperatureBand.svg b/test/output/sfTemperatureBand.svg index 9f154fd2fc..5538505657 100644 --- a/test/output/sfTemperatureBand.svg +++ b/test/output/sfTemperatureBand.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/sfTemperatureBandArea.svg b/test/output/sfTemperatureBandArea.svg index 07005fbbb5..c109fd42ac 100644 --- a/test/output/sfTemperatureBandArea.svg +++ b/test/output/sfTemperatureBandArea.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandArea.svg b/test/output/shorthandArea.svg index 54216349cc..ad3565ece5 100644 --- a/test/output/shorthandArea.svg +++ b/test/output/shorthandArea.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandAreaY.svg b/test/output/shorthandAreaY.svg index 185e914fec..7ae7324127 100644 --- a/test/output/shorthandAreaY.svg +++ b/test/output/shorthandAreaY.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandBarY.svg b/test/output/shorthandBarY.svg index 4e8a07376f..78963152ca 100644 --- a/test/output/shorthandBarY.svg +++ b/test/output/shorthandBarY.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandBinRectY.svg b/test/output/shorthandBinRectY.svg index 13f883539a..7939b9b7e0 100644 --- a/test/output/shorthandBinRectY.svg +++ b/test/output/shorthandBinRectY.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandBoxX.svg b/test/output/shorthandBoxX.svg index a5991f4034..1fb9925595 100644 --- a/test/output/shorthandBoxX.svg +++ b/test/output/shorthandBoxX.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandCell.svg b/test/output/shorthandCell.svg index a22d64d576..5a3ac01698 100644 --- a/test/output/shorthandCell.svg +++ b/test/output/shorthandCell.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandCellX.svg b/test/output/shorthandCellX.svg index b26990df4f..3a06ee8840 100644 --- a/test/output/shorthandCellX.svg +++ b/test/output/shorthandCellX.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandDot.svg b/test/output/shorthandDot.svg index 2027fe5590..f9548f1faf 100644 --- a/test/output/shorthandDot.svg +++ b/test/output/shorthandDot.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandDotX.svg b/test/output/shorthandDotX.svg index be39d2a630..0c82a0b018 100644 --- a/test/output/shorthandDotX.svg +++ b/test/output/shorthandDotX.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandGroupBarY.svg b/test/output/shorthandGroupBarY.svg index 544ff7e1fc..bb70558f4a 100644 --- a/test/output/shorthandGroupBarY.svg +++ b/test/output/shorthandGroupBarY.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandLine.svg b/test/output/shorthandLine.svg index d54f58ff7f..ccfa5c0ed0 100644 --- a/test/output/shorthandLine.svg +++ b/test/output/shorthandLine.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandLineY.svg b/test/output/shorthandLineY.svg index ede65f6c01..7c4e85f2a9 100644 --- a/test/output/shorthandLineY.svg +++ b/test/output/shorthandLineY.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandRectY.svg b/test/output/shorthandRectY.svg index 3462e90b7c..1bef704fb1 100644 --- a/test/output/shorthandRectY.svg +++ b/test/output/shorthandRectY.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandRuleX.svg b/test/output/shorthandRuleX.svg index 297f78ce42..d56158ddab 100644 --- a/test/output/shorthandRuleX.svg +++ b/test/output/shorthandRuleX.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandText.svg b/test/output/shorthandText.svg index 08bc571b92..7e8b1a4bbe 100644 --- a/test/output/shorthandText.svg +++ b/test/output/shorthandText.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandTextX.svg b/test/output/shorthandTextX.svg index f03031f6d8..a660a8a552 100644 --- a/test/output/shorthandTextX.svg +++ b/test/output/shorthandTextX.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandTickX.svg b/test/output/shorthandTickX.svg index 2ce185894c..836cc71ab8 100644 --- a/test/output/shorthandTickX.svg +++ b/test/output/shorthandTickX.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandVector.svg b/test/output/shorthandVector.svg index 1eb595231b..e96509c09e 100644 --- a/test/output/shorthandVector.svg +++ b/test/output/shorthandVector.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/shorthandVectorX.svg b/test/output/shorthandVectorX.svg index 0f44abed57..fc049ce01b 100644 --- a/test/output/shorthandVectorX.svg +++ b/test/output/shorthandVectorX.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/simpsonsRatings.svg b/test/output/simpsonsRatings.svg index 563fdbbd2c..6c31142e2e 100644 --- a/test/output/simpsonsRatings.svg +++ b/test/output/simpsonsRatings.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/simpsonsRatingsDots.svg b/test/output/simpsonsRatingsDots.svg index 7d66a5a55d..ec99d1dc14 100644 --- a/test/output/simpsonsRatingsDots.svg +++ b/test/output/simpsonsRatingsDots.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/simpsonsViews.html b/test/output/simpsonsViews.html index 9b54e0159c..2a213076bc 100644 --- a/test/output/simpsonsViews.html +++ b/test/output/simpsonsViews.html @@ -52,7 +52,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/singleValueBar.svg b/test/output/singleValueBar.svg index 8f946f2352..83f51c40c2 100644 --- a/test/output/singleValueBar.svg +++ b/test/output/singleValueBar.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/singleValueBin.svg b/test/output/singleValueBin.svg index 8523b2c1c2..e17717ef90 100644 --- a/test/output/singleValueBin.svg +++ b/test/output/singleValueBin.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/softwareVersions.svg b/test/output/softwareVersions.svg index 23ae2bf5c3..adf56250b6 100644 --- a/test/output/softwareVersions.svg +++ b/test/output/softwareVersions.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/sparseCell.svg b/test/output/sparseCell.svg index 4984761232..0248419c8e 100644 --- a/test/output/sparseCell.svg +++ b/test/output/sparseCell.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/stackedBar.svg b/test/output/stackedBar.svg index 13db5cce52..ed6af12c55 100644 --- a/test/output/stackedBar.svg +++ b/test/output/stackedBar.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/stackedRect.svg b/test/output/stackedRect.svg index 33726adf8e..724ea2930a 100644 --- a/test/output/stackedRect.svg +++ b/test/output/stackedRect.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/stargazers.svg b/test/output/stargazers.svg index 454595f9b6..d649ab397c 100644 --- a/test/output/stargazers.svg +++ b/test/output/stargazers.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/stargazersBinned.svg b/test/output/stargazersBinned.svg index 02c71b66f3..b85fbac89e 100644 --- a/test/output/stargazersBinned.svg +++ b/test/output/stargazersBinned.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/stargazersHourly.svg b/test/output/stargazersHourly.svg index ff2cca67a4..fcf3e6e5c4 100644 --- a/test/output/stargazersHourly.svg +++ b/test/output/stargazersHourly.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/stargazersHourlyGroup.svg b/test/output/stargazersHourlyGroup.svg index 3025d5e3ef..04891e747f 100644 --- a/test/output/stargazersHourlyGroup.svg +++ b/test/output/stargazersHourlyGroup.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/stocksIndex.svg b/test/output/stocksIndex.svg index bb39dbe5c5..2d335d9f8d 100644 --- a/test/output/stocksIndex.svg +++ b/test/output/stocksIndex.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/textOverflow.svg b/test/output/textOverflow.svg index 2bd362d174..5de634dc1b 100644 --- a/test/output/textOverflow.svg +++ b/test/output/textOverflow.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/textOverflowClip.svg b/test/output/textOverflowClip.svg index 771e0e5f10..77940fb006 100644 --- a/test/output/textOverflowClip.svg +++ b/test/output/textOverflowClip.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/textOverflowEllipsis.svg b/test/output/textOverflowEllipsis.svg index 2050f7e0fb..85698657b7 100644 --- a/test/output/textOverflowEllipsis.svg +++ b/test/output/textOverflowEllipsis.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/textOverflowMonospace.svg b/test/output/textOverflowMonospace.svg index eadd75d935..2058f7b872 100644 --- a/test/output/textOverflowMonospace.svg +++ b/test/output/textOverflowMonospace.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/textOverflowNone.svg b/test/output/textOverflowNone.svg index 979f5a7d4f..17ad7512a3 100644 --- a/test/output/textOverflowNone.svg +++ b/test/output/textOverflowNone.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/thisIsJustToSay.svg b/test/output/thisIsJustToSay.svg index eb071d46a9..5de26ce175 100644 --- a/test/output/thisIsJustToSay.svg +++ b/test/output/thisIsJustToSay.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/tooltipDotColor.svg b/test/output/tooltipDotColor.svg index f636d2940f..a109588b26 100644 --- a/test/output/tooltipDotColor.svg +++ b/test/output/tooltipDotColor.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/tooltipDotDodge.svg b/test/output/tooltipDotDodge.svg index 5835f097d3..3a61c3fffa 100644 --- a/test/output/tooltipDotDodge.svg +++ b/test/output/tooltipDotDodge.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/tooltipDotFacets.svg b/test/output/tooltipDotFacets.svg index f85840e84e..a433d7d9c0 100644 --- a/test/output/tooltipDotFacets.svg +++ b/test/output/tooltipDotFacets.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/tooltipLineColor.svg b/test/output/tooltipLineColor.svg index a0e7843156..69548a219d 100644 --- a/test/output/tooltipLineColor.svg +++ b/test/output/tooltipLineColor.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/tooltipMultiLine.svg b/test/output/tooltipMultiLine.svg index 7df30f478d..8972d43ff2 100644 --- a/test/output/tooltipMultiLine.svg +++ b/test/output/tooltipMultiLine.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/trafficHorizon.html b/test/output/trafficHorizon.html index ffb7284fc9..76083f4fd4 100644 --- a/test/output/trafficHorizon.html +++ b/test/output/trafficHorizon.html @@ -43,7 +43,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/travelersCovidDrop.svg b/test/output/travelersCovidDrop.svg index 827fcd120d..bb821a9386 100644 --- a/test/output/travelersCovidDrop.svg +++ b/test/output/travelersCovidDrop.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/travelersYearOverYear.svg b/test/output/travelersYearOverYear.svg index 01000e2673..df259a5e29 100644 --- a/test/output/travelersYearOverYear.svg +++ b/test/output/travelersYearOverYear.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/uniformRandomDifference.svg b/test/output/uniformRandomDifference.svg index c539bb7986..9f9b5d4f53 100644 --- a/test/output/uniformRandomDifference.svg +++ b/test/output/uniformRandomDifference.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/untypedDateBin.svg b/test/output/untypedDateBin.svg index c77d70ecdc..5faafc89cc 100644 --- a/test/output/untypedDateBin.svg +++ b/test/output/untypedDateBin.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usCongressAge.svg b/test/output/usCongressAge.svg index 33182c644f..a2371776ea 100644 --- a/test/output/usCongressAge.svg +++ b/test/output/usCongressAge.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usCongressAgeColorExplicit.svg b/test/output/usCongressAgeColorExplicit.svg index 03bdceb4db..cb55b4bda9 100644 --- a/test/output/usCongressAgeColorExplicit.svg +++ b/test/output/usCongressAgeColorExplicit.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usCongressAgeGender.svg b/test/output/usCongressAgeGender.svg index 7190f8ab72..1376e719eb 100644 --- a/test/output/usCongressAgeGender.svg +++ b/test/output/usCongressAgeGender.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usCongressAgeSymbolExplicit.svg b/test/output/usCongressAgeSymbolExplicit.svg index 9e60c67c95..5be29343a0 100644 --- a/test/output/usCongressAgeSymbolExplicit.svg +++ b/test/output/usCongressAgeSymbolExplicit.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usCountyChoropleth.html b/test/output/usCountyChoropleth.html index d66ef42c50..61fe5ba2d3 100644 --- a/test/output/usCountyChoropleth.html +++ b/test/output/usCountyChoropleth.html @@ -67,7 +67,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usCountySpikes.svg b/test/output/usCountySpikes.svg index 77633b1f23..601f87e3b7 100644 --- a/test/output/usCountySpikes.svg +++ b/test/output/usCountySpikes.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usPopulationStateAge.svg b/test/output/usPopulationStateAge.svg index 305589bfc5..cdb2455f48 100644 --- a/test/output/usPopulationStateAge.svg +++ b/test/output/usPopulationStateAge.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usPopulationStateAgeDots.svg b/test/output/usPopulationStateAgeDots.svg index ef44c3ea97..2525e76f90 100644 --- a/test/output/usPopulationStateAgeDots.svg +++ b/test/output/usPopulationStateAgeDots.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usPopulationStateAgeGrouped.svg b/test/output/usPopulationStateAgeGrouped.svg index 9310fa6283..80ecaf64bb 100644 --- a/test/output/usPopulationStateAgeGrouped.svg +++ b/test/output/usPopulationStateAgeGrouped.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usPresidentFavorabilityDots.svg b/test/output/usPresidentFavorabilityDots.svg index acee3e63c4..06ebaf334d 100644 --- a/test/output/usPresidentFavorabilityDots.svg +++ b/test/output/usPresidentFavorabilityDots.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usPresidentGallery.svg b/test/output/usPresidentGallery.svg index 78fbdf25c3..5e62cd6f59 100644 --- a/test/output/usPresidentGallery.svg +++ b/test/output/usPresidentGallery.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usPresidentGalleryAlt.svg b/test/output/usPresidentGalleryAlt.svg index 3d4841a98e..0f1c10c5ae 100644 --- a/test/output/usPresidentGalleryAlt.svg +++ b/test/output/usPresidentGalleryAlt.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usPresidentialElection2020.svg b/test/output/usPresidentialElection2020.svg index 28c3a80b62..55e4498892 100644 --- a/test/output/usPresidentialElection2020.svg +++ b/test/output/usPresidentialElection2020.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usPresidentialElectionMap2020.svg b/test/output/usPresidentialElectionMap2020.svg index 91c6c9f724..e89e80909f 100644 --- a/test/output/usPresidentialElectionMap2020.svg +++ b/test/output/usPresidentialElectionMap2020.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usPresidentialForecast2016.svg b/test/output/usPresidentialForecast2016.svg index 3ac9799dd9..8a5152197e 100644 --- a/test/output/usPresidentialForecast2016.svg +++ b/test/output/usPresidentialForecast2016.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usRetailSales.svg b/test/output/usRetailSales.svg index 3c162cdd7b..cd35ad6208 100644 --- a/test/output/usRetailSales.svg +++ b/test/output/usRetailSales.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usStateCapitals.svg b/test/output/usStateCapitals.svg index 813db4fd53..ab45896cbb 100644 --- a/test/output/usStateCapitals.svg +++ b/test/output/usStateCapitals.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usStateCapitalsVoronoi.svg b/test/output/usStateCapitalsVoronoi.svg index ba0100780e..12cb75ac9e 100644 --- a/test/output/usStateCapitalsVoronoi.svg +++ b/test/output/usStateCapitalsVoronoi.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/usStatePopulationChange.svg b/test/output/usStatePopulationChange.svg index b349c537c9..6e8d70587c 100644 --- a/test/output/usStatePopulationChange.svg +++ b/test/output/usStatePopulationChange.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/vectorField.svg b/test/output/vectorField.svg index 3ef8d1a624..ed580e1a40 100644 --- a/test/output/vectorField.svg +++ b/test/output/vectorField.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/vectorFrame.svg b/test/output/vectorFrame.svg index 631389e140..d8569825ac 100644 --- a/test/output/vectorFrame.svg +++ b/test/output/vectorFrame.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/volcano.svg b/test/output/volcano.svg index cf9df042b6..efd682c486 100644 --- a/test/output/volcano.svg +++ b/test/output/volcano.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/volcanoContour.svg b/test/output/volcanoContour.svg index abfb383cf1..111ae25bba 100644 --- a/test/output/volcanoContour.svg +++ b/test/output/volcanoContour.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/volcanoTerrain.svg b/test/output/volcanoTerrain.svg index d862ff6bef..08569b17cb 100644 --- a/test/output/volcanoTerrain.svg +++ b/test/output/volcanoTerrain.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/walmarts.html b/test/output/walmarts.html index ed9d8ae993..98989c6e24 100644 --- a/test/output/walmarts.html +++ b/test/output/walmarts.html @@ -41,7 +41,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/walmartsDecades.svg b/test/output/walmartsDecades.svg index f9a8135030..d2183b4cca 100644 --- a/test/output/walmartsDecades.svg +++ b/test/output/walmartsDecades.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/walmartsDensity.svg b/test/output/walmartsDensity.svg index 80398a6c27..681f5cbaef 100644 --- a/test/output/walmartsDensity.svg +++ b/test/output/walmartsDensity.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/walmartsDensityUnprojected.svg b/test/output/walmartsDensityUnprojected.svg index 5a4351b485..0de93fa6ed 100644 --- a/test/output/walmartsDensityUnprojected.svg +++ b/test/output/walmartsDensityUnprojected.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/wealthBritainBar.svg b/test/output/wealthBritainBar.svg index 758257ab80..3221eb8040 100644 --- a/test/output/wealthBritainBar.svg +++ b/test/output/wealthBritainBar.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/wealthBritainProportionPlot.svg b/test/output/wealthBritainProportionPlot.svg index 3e609e532d..9a3f249de3 100644 --- a/test/output/wealthBritainProportionPlot.svg +++ b/test/output/wealthBritainProportionPlot.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/wordCloud.svg b/test/output/wordCloud.svg index 4030fc4104..5dae37b342 100644 --- a/test/output/wordCloud.svg +++ b/test/output/wordCloud.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/wordLengthMobyDick.svg b/test/output/wordLengthMobyDick.svg index 6a65156bcb..e421bbec04 100644 --- a/test/output/wordLengthMobyDick.svg +++ b/test/output/wordLengthMobyDick.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/yearlyRequests.svg b/test/output/yearlyRequests.svg index fc5ad6336c..5ed80fd36d 100644 --- a/test/output/yearlyRequests.svg +++ b/test/output/yearlyRequests.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/yearlyRequestsDot.svg b/test/output/yearlyRequestsDot.svg index c00f2eff56..f1231b1f16 100644 --- a/test/output/yearlyRequestsDot.svg +++ b/test/output/yearlyRequestsDot.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, diff --git a/test/output/yearlyRequestsLine.svg b/test/output/yearlyRequestsLine.svg index d627be61e3..9804ba1259 100644 --- a/test/output/yearlyRequestsLine.svg +++ b/test/output/yearlyRequestsLine.svg @@ -6,7 +6,6 @@ height: auto; height: intrinsic; max-width: 100%; - overflow: visible; } .plot text, From 7ded64c2db4377a39dd2b3f8b8f457a48e208294 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Thu, 4 May 2023 08:48:12 -0700 Subject: [PATCH 18/35] declare maxRadius, corner --- src/marks/tooltip.d.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/marks/tooltip.d.ts b/src/marks/tooltip.d.ts index e52d3bae9d..9689b8f9d3 100644 --- a/src/marks/tooltip.d.ts +++ b/src/marks/tooltip.d.ts @@ -31,6 +31,12 @@ export interface TooltipOptions extends MarkOptions, TextStyles { * ``` */ frameAnchor?: FrameAnchor; + + /** TODO */ + maxRadius?: number; + + /** TODO */ + corner?: "top-left" | "top-right" | "bottom-right" | "bottom-left"; } /** From 634e51e1a68b5dec5dbee970064dc8de077adf0a Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Thu, 4 May 2023 09:49:53 -0700 Subject: [PATCH 19/35] truncate long values --- src/marks/text.js | 4 +-- src/marks/tooltip.js | 58 +++++++++++++++++++++++++++++++------------- 2 files changed, 43 insertions(+), 19 deletions(-) diff --git a/src/marks/text.js b/src/marks/text.js index b8dd934a0a..087c91b052 100644 --- a/src/marks/text.js +++ b/src/marks/text.js @@ -420,7 +420,7 @@ function splitter({monospace, lineWidth, textOverflow}) { return (text) => lineWrap(text, maxWidth, widthof); } -export function clipper({monospace, lineWidth, textOverflow}) { +function clipper({monospace, lineWidth, textOverflow}) { if (textOverflow == null || lineWidth == Infinity) return (text) => text; const widthof = monospace ? monospaceWidth : defaultWidth; const maxWidth = lineWidth * 100; @@ -444,7 +444,7 @@ export function clipper({monospace, lineWidth, textOverflow}) { // given width, returns [-1, 0]. If the text needs cutting, the given inset // specifies how much space (in the same units as width and widthof) to reserve // for a possible ellipsis character. -function cut(text, width, widthof, inset) { +export function cut(text, width, widthof, inset) { const I = []; // indexes of read character boundaries let w = 0; // current line width for (let i = 0, j = 0, n = text.length; i < n; i = j) { diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 4b11503fc8..2b79981b9c 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -1,13 +1,10 @@ import {pointer, select} from "d3"; import {formatDefault} from "../format.js"; import {Mark} from "../mark.js"; -import {keyword, maybeFrameAnchor, maybeTuple} from "../options.js"; +import {keyword, maybeFrameAnchor, maybeTuple, number, string} from "../options.js"; import {applyFrameAnchor} from "../style.js"; import {inferTickFormat} from "./axis.js"; -import {string} from "../options.js"; -import {number} from "../options.js"; -import {clipper} from "./text.js"; -import {applyIndirectTextStyles} from "./text.js"; +import {applyIndirectTextStyles, cut, defaultWidth, monospaceWidth} from "./text.js"; const defaults = { ariaLabel: "tooltip", @@ -29,7 +26,7 @@ export class Tooltip extends Mark { fontVariant, fontWeight, lineHeight = 1, - lineWidth = Infinity, + lineWidth = 20, frameAnchor } = options; super( @@ -54,26 +51,28 @@ export class Tooltip extends Mark { this.fontVariant = string(fontVariant); this.fontWeight = string(fontWeight); this.maxRadius = +maxRadius; - this.clipLine = clipper(this); } render(index, scales, {x: X, y: Y, channels}, dimensions, context) { + const svg = context.ownerSVGElement; + let indexes = this.indexesBySvg.get(svg); + if (indexes) return void indexes.push(index); + this.indexesBySvg.set(svg, (indexes = [index])); const {fx, fy} = scales; const formatFx = fx && inferTickFormat(fx); const formatFy = fy && inferTickFormat(fy); const [cx, cy] = applyFrameAnchor(this, dimensions); - const {corner, lineHeight, maxRadius, fx: fxv, fy: fyv} = this; + const {corner, monospace, lineHeight, lineWidth, maxRadius, fx: fxv, fy: fyv} = this; + const widthof = monospace ? monospaceWidth : defaultWidth; const {marginLeft, marginTop} = dimensions; - const svg = context.ownerSVGElement; - let indexes = this.indexesBySvg.get(svg); - if (indexes) return void indexes.push(index); - this.indexesBySvg.set(svg, (indexes = [index])); + const ellipsis = "…"; + const ee = widthof(ellipsis); const r = 8; // padding const dx = 0; // offsetLeft const dy = 12; // offsetTop const foreground = "black"; const background = "white"; - const kx = 1, - ky = 1; // TODO one-dimensional bias + const kx = 1; // TODO one-dimensional bias + const ky = 1; // TODO one-dimensional bias (1 / 100 for lineY) let i, xi, yi; // currently-focused index and position let sticky = false; select(svg.ownerDocument.defaultView) @@ -90,7 +89,7 @@ export class Tooltip extends Mark { event.clientY - maxRadius < rect.bottom ) { const [xp, yp] = pointer(event, svg); - let ri = kx * ky * kx * ky * maxRadius * maxRadius; + let ri = maxRadius * maxRadius; for (const index of indexes) { const fxj = index.fx; const fyj = index.fy; @@ -123,6 +122,26 @@ export class Tooltip extends Mark { } if (fxv != null) text.push([fx.label ?? "fx", formatFx(fxi)]); if (fyv != null) text.push([fy.label ?? "fy", formatFy(fyi)]); + for (const line of text) { + let w = lineWidth * 100; + let [name, value] = line; + line[0] = name = String(name).trim(); + line[1] = value = ` ${String(value).trim()}\u200b`; // zwsp for double-click + const [i] = cut(name, w, widthof, ee); + if (i >= 0) { + // name is truncated + line[0] = name.slice(0, i).trimEnd() + ellipsis; + line[1] = ""; + line[2] = value.trim(); + } else { + const [j] = cut(value, w - widthof(name), widthof, ee); + if (j >= 0) { + // value is truncated + line[1] = value.slice(0, j).trimEnd() + ellipsis; + line[2] = value.trim(); + } + } + } const tspan = content .selectChildren() .data(text) @@ -131,10 +150,15 @@ export class Tooltip extends Mark { .attr("y", (d, i) => `${i * lineHeight}em`); tspan .selectChildren() - .data((d) => d) + .data((d) => d.slice(0, 2)) .join("tspan") .attr("font-weight", (d, i) => (i ? null : "bold")) - .text((d, i) => (i ? ` ${d}\u200b` : String(d))); // zwsp for double-click + .text(String); + tspan + .selectAll("title") + .data((d) => (d.length > 2 ? [d[2]] : [])) + .join("title") + .text(String); const {width: w, height: h} = content.node().getBBox(); const {width, height} = svg.getBBox(); const cx = (/-left$/.test(corner) ? xi + w + dx + r * 2 > width : xi - w - dx - r * 2 > 0) ? "right" : "left"; From 742dc5c6653913f6118812daa54a06a12b27715a Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Thu, 4 May 2023 10:10:58 -0700 Subject: [PATCH 20/35] one-dimensional bias --- src/marks/tooltip.d.ts | 3 +++ src/marks/tooltip.js | 12 +++++++++--- test/plots/tooltip.ts | 6 +++--- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/marks/tooltip.d.ts b/src/marks/tooltip.d.ts index 9689b8f9d3..96d11194d3 100644 --- a/src/marks/tooltip.d.ts +++ b/src/marks/tooltip.d.ts @@ -35,6 +35,9 @@ export interface TooltipOptions extends MarkOptions, TextStyles { /** TODO */ maxRadius?: number; + /** TODO */ + axis?: "x" | "y" | "xy"; + /** TODO */ corner?: "top-left" | "top-right" | "bottom-right" | "bottom-left"; } diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 2b79981b9c..f6e5a75be3 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -18,6 +18,7 @@ export class Tooltip extends Mark { x, y, maxRadius = 40, + axis, corner, monospace, fontFamily = monospace ? "ui-monospace, monospace" : undefined, @@ -38,6 +39,7 @@ export class Tooltip extends Mark { options, defaults ); + this.axis = maybeAxis(axis); this.corner = maybeCorner(corner); this.frameAnchor = maybeFrameAnchor(frameAnchor); this.indexesBySvg = new WeakMap(); @@ -61,7 +63,7 @@ export class Tooltip extends Mark { const formatFx = fx && inferTickFormat(fx); const formatFy = fy && inferTickFormat(fy); const [cx, cy] = applyFrameAnchor(this, dimensions); - const {corner, monospace, lineHeight, lineWidth, maxRadius, fx: fxv, fy: fyv} = this; + const {axis, corner, monospace, lineHeight, lineWidth, maxRadius, fx: fxv, fy: fyv} = this; const widthof = monospace ? monospaceWidth : defaultWidth; const {marginLeft, marginTop} = dimensions; const ellipsis = "…"; @@ -71,8 +73,8 @@ export class Tooltip extends Mark { const dy = 12; // offsetTop const foreground = "black"; const background = "white"; - const kx = 1; // TODO one-dimensional bias - const ky = 1; // TODO one-dimensional bias (1 / 100 for lineY) + const kx = axis === "y" ? 1 / 100 : 1; + const ky = axis === "x" ? 1 / 100 : 1; let i, xi, yi; // currently-focused index and position let sticky = false; select(svg.ownerDocument.defaultView) @@ -205,6 +207,10 @@ export function tooltip(data, {x, y, ...options} = {}) { return new Tooltip(data, {...options, x, y}); } +function maybeAxis(value = "xy") { + return keyword(value, "axis", ["x", "y", "xy"]); +} + function maybeCorner(value = "bottom-left") { return keyword(value, "corner", ["top-left", "top-right", "bottom-right", "bottom-left"]); } diff --git a/test/plots/tooltip.ts b/test/plots/tooltip.ts index f9e8fcad91..a34fed4d59 100644 --- a/test/plots/tooltip.ts +++ b/test/plots/tooltip.ts @@ -104,8 +104,8 @@ export async function tooltipLineColor() { return Plot.plot({ grid: true, marks: [ - Plot.line(aapl, {x: "Date", y: "Close", stroke: "Volume", z: null}), - Plot.tooltip(aapl, {x: "Date", y: "Close", stroke: "Volume"}) + Plot.lineY(aapl, {x: "Date", y: "Close", stroke: "Volume", z: null}), + Plot.tooltip(aapl, {x: "Date", y: "Close", stroke: "Volume", axis: "x"}) ] }); } @@ -116,7 +116,7 @@ export async function tooltipMultiLine() { marks: [ Plot.lineY(bls, {x: "date", y: "unemployment", z: "division"}), Plot.ruleY([0]), - Plot.tooltip(bls, {x: "date", y: "unemployment", channels: {division: {value: "division"}}}) + Plot.tooltip(bls, {x: "date", y: "unemployment", channels: {division: {value: "division"}}, axis: "x"}) ] }); } From f161aa88a3a2b40dc09c73c64bd9a6ff84479a1f Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Thu, 4 May 2023 13:22:03 -0700 Subject: [PATCH 21/35] fixed corner option --- src/marks/tooltip.js | 42 ++-- test/output/tooltipRule.svg | 394 ++++++++++++++++++++++++++++++++++++ test/plots/tooltip.ts | 9 + 3 files changed, 425 insertions(+), 20 deletions(-) create mode 100644 test/output/tooltipRule.svg diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index f6e5a75be3..6a0dc0cbfd 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -1,7 +1,7 @@ import {pointer, select} from "d3"; import {formatDefault} from "../format.js"; import {Mark} from "../mark.js"; -import {keyword, maybeFrameAnchor, maybeTuple, number, string} from "../options.js"; +import {keyword, maybeFrameAnchor, maybeKeyword, maybeTuple, number, string} from "../options.js"; import {applyFrameAnchor} from "../style.js"; import {inferTickFormat} from "./axis.js"; import {applyIndirectTextStyles, cut, defaultWidth, monospaceWidth} from "./text.js"; @@ -68,9 +68,8 @@ export class Tooltip extends Mark { const {marginLeft, marginTop} = dimensions; const ellipsis = "…"; const ee = widthof(ellipsis); - const r = 8; // padding - const dx = 0; // offsetLeft - const dy = 12; // offsetTop + const r = 8; // “padding” + const m = 12; // “margin” (flag size) const foreground = "black"; const background = "white"; const kx = axis === "y" ? 1 / 100 : 1; @@ -163,13 +162,16 @@ export class Tooltip extends Mark { .text(String); const {width: w, height: h} = content.node().getBBox(); const {width, height} = svg.getBBox(); - const cx = (/-left$/.test(corner) ? xi + w + dx + r * 2 > width : xi - w - dx - r * 2 > 0) ? "right" : "left"; - const cy = (/^top-/.test(corner) ? yi + h + dy + r * 2 > height : yi - h - dy - r * 2 > 0) ? "bottom" : "top"; - const cc = `${cy}-${cx}`; - const oy = getLineOffset(cc, text) * lineHeight; + let c = corner; + if (c === undefined) { + const cx = xi + w + r * 2 > width ? "right" : "left"; + const cy = yi + h + m + r * 2 > height ? "bottom" : "top"; + c = `${cy}-${cx}`; + } + const oy = getLineOffset(c, text) * lineHeight; tspan.attr("y", (d, i) => `${i * lineHeight + oy}em`); - path.attr("d", getPath(cc, dx, dy, r, w, h)); - content.attr("transform", getTextTransform(cc, dx, dy, r, w, h)); + path.attr("d", getPath(c, m, r, w, h)); + content.attr("transform", getTextTransform(c, m, r, w, h)); } }) .on("pointerdown", () => { @@ -211,31 +213,31 @@ function maybeAxis(value = "xy") { return keyword(value, "axis", ["x", "y", "xy"]); } -function maybeCorner(value = "bottom-left") { - return keyword(value, "corner", ["top-left", "top-right", "bottom-right", "bottom-left"]); +function maybeCorner(value) { + return maybeKeyword(value, "corner", ["top-left", "top-right", "bottom-right", "bottom-left"]); } function getLineOffset(corner, text) { return /^top-/.test(corner) ? 0.94 : 0.71 - text.length; } -function getTextTransform(corner, dx, dy, r, width) { - const x = /-left$/.test(corner) ? dx + r : -width - dx - r; - const y = /^top-/.test(corner) ? dy + r : -dy - r; +function getTextTransform(corner, m, r, width) { + const x = /-left$/.test(corner) ? r : -width - r; + const y = /^top-/.test(corner) ? m + r : -m - r; return `translate(${x},${y})`; } -function getPath(corner, dx, dy, r, width, height) { +function getPath(corner, m, r, width, height) { const w = width + r * 2; const h = height + r * 2; switch (corner) { case "top-left": - return `M0,0l${dy},${dy}h${w - dy}v${h}h${-w}z`; + return `M0,0l${m},${m}h${w - m}v${h}h${-w}z`; case "top-right": - return `M0,0l${-dy},${dy}h${dy - w}v${h}h${w}z`; + return `M0,0l${-m},${m}h${m - w}v${h}h${w}z`; case "bottom-left": - return `M0,0l${dy},${-dy}h${w - dy}v${-h}h${-w}z`; + return `M0,0l${m},${-m}h${w - m}v${-h}h${-w}z`; case "bottom-right": - return `M0,0l${-dy},${-dy}h${dy - w}v${-h}h${w}z`; + return `M0,0l${-m},${-m}h${m - w}v${-h}h${w}z`; } } diff --git a/test/output/tooltipRule.svg b/test/output/tooltipRule.svg new file mode 100644 index 0000000000..cc08440a44 --- /dev/null +++ b/test/output/tooltipRule.svg @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + 3,000 + 3,500 + 4,000 + 4,500 + 5,000 + 5,500 + 6,000 + + + body_mass_g → + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/plots/tooltip.ts b/test/plots/tooltip.ts index a34fed4d59..3044ed2a5f 100644 --- a/test/plots/tooltip.ts +++ b/test/plots/tooltip.ts @@ -120,3 +120,12 @@ export async function tooltipMultiLine() { ] }); } + +export async function tooltipRule() { + const penguins = await d3.csv("data/penguins.csv", d3.autoType); + return Plot.plot({ + grid: true, + style: "overflow: visible;", + marks: [Plot.ruleX(penguins, {x: "body_mass_g"}), Plot.tooltip(penguins, {x: "body_mass_g", corner: "bottom-left"})] + }); +} From 74fa81a7f9e0a149e993ce3cdc3467529cfa7e50 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Thu, 4 May 2023 13:26:14 -0700 Subject: [PATCH 22/35] preserve corner when possible --- src/marks/tooltip.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 6a0dc0cbfd..bc282bbdd6 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -75,6 +75,7 @@ export class Tooltip extends Mark { const kx = axis === "y" ? 1 / 100 : 1; const ky = axis === "x" ? 1 / 100 : 1; let i, xi, yi; // currently-focused index and position + let c = corner; // last-used corner (for stability) let sticky = false; select(svg.ownerDocument.defaultView) .on("pointermove", (event) => { @@ -162,10 +163,9 @@ export class Tooltip extends Mark { .text(String); const {width: w, height: h} = content.node().getBBox(); const {width, height} = svg.getBBox(); - let c = corner; - if (c === undefined) { - const cx = xi + w + r * 2 > width ? "right" : "left"; - const cy = yi + h + m + r * 2 > height ? "bottom" : "top"; + if (corner === undefined) { + const cx = (/-left$/.test(c) ? xi + w + r * 2 > width : xi - w - r * 2 > 0) ? "right" : "left"; + const cy = (/^top-/.test(c) ? yi + h + m + r * 2 > height : yi - h - m - r * 2 > 0) ? "bottom" : "top"; c = `${cy}-${cx}`; } const oy = getLineOffset(c, text) * lineHeight; From 426b8ef5ab669ea68e5f18486c7a30515e50bf9d Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Thu, 4 May 2023 13:39:00 -0700 Subject: [PATCH 23/35] test tooltips on bin, stack --- src/transforms/bin.d.ts | 5 +- src/transforms/group.d.ts | 5 +- test/output/tooltipBin.svg | 145 ++++++++++++++++++++++++ test/output/tooltipBinStack.svg | 192 ++++++++++++++++++++++++++++++++ test/plots/tooltip.ts | 20 ++++ 5 files changed, 365 insertions(+), 2 deletions(-) create mode 100644 test/output/tooltipBin.svg create mode 100644 test/output/tooltipBinStack.svg diff --git a/src/transforms/bin.d.ts b/src/transforms/bin.d.ts index 2a4a182dcf..6f5e5552cc 100644 --- a/src/transforms/bin.d.ts +++ b/src/transforms/bin.d.ts @@ -1,4 +1,4 @@ -import type {ChannelReducers, ChannelValueBinSpec} from "../channel.js"; +import type {ChannelReducers, ChannelValue, ChannelValueBinSpec} from "../channel.js"; import type {RangeInterval} from "../interval.js"; import type {Reducer} from "../reducer.js"; import type {Transformed} from "./basic.js"; @@ -102,6 +102,9 @@ export interface BinOptions { * ``` */ interval?: RangeInterval; + + /** For subdividing bins. */ + z?: ChannelValue; } /** diff --git a/src/transforms/group.d.ts b/src/transforms/group.d.ts index a48caecc4e..24b422aa40 100644 --- a/src/transforms/group.d.ts +++ b/src/transforms/group.d.ts @@ -1,4 +1,4 @@ -import type {ChannelReducers} from "../channel.js"; +import type {ChannelReducers, ChannelValue} from "../channel.js"; import type {Reducer} from "../reducer.js"; import type {Transformed} from "./basic.js"; @@ -33,6 +33,9 @@ export interface GroupOutputOptions { /** If true, reverse the order of generated groups; defaults to false. */ reverse?: boolean; + + /** For subdividing groups. */ + z?: ChannelValue; } /** Output channels (and options) for the group transform. */ diff --git a/test/output/tooltipBin.svg b/test/output/tooltipBin.svg new file mode 100644 index 0000000000..c4c53e885b --- /dev/null +++ b/test/output/tooltipBin.svg @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + 0 + 50 + 100 + 150 + 200 + 250 + 300 + 350 + 400 + 450 + 500 + 550 + 600 + + + ↑ Frequency + + + + + + + + + + + + 40 + 60 + 80 + 100 + 120 + 140 + 160 + + + weight → + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/output/tooltipBinStack.svg b/test/output/tooltipBinStack.svg new file mode 100644 index 0000000000..3237cce1c9 --- /dev/null +++ b/test/output/tooltipBinStack.svg @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + 0 + 50 + 100 + 150 + 200 + 250 + 300 + 350 + 400 + 450 + 500 + 550 + 600 + + + ↑ Frequency + + + + + + + + + + + + 40 + 60 + 80 + 100 + 120 + 140 + 160 + + + weight → + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/plots/tooltip.ts b/test/plots/tooltip.ts index 3044ed2a5f..8702345ff8 100644 --- a/test/plots/tooltip.ts +++ b/test/plots/tooltip.ts @@ -1,6 +1,26 @@ import * as Plot from "@observablehq/plot"; import * as d3 from "d3"; +export async function tooltipBin() { + const olympians = await d3.csv("data/athletes.csv", d3.autoType); + return Plot.plot({ + marks: [ + Plot.rectY(olympians, Plot.binX({y: "count"}, {x: "weight"})), + Plot.tooltip(olympians, Plot.binX({y: "count"}, {x: "weight", axis: "x"})) + ] + }); +} + +export async function tooltipBinStack() { + const olympians = await d3.csv("data/athletes.csv", d3.autoType); + return Plot.plot({ + marks: [ + Plot.rectY(olympians, Plot.binX({y: "count"}, {x: "weight", fill: "sex"})), + Plot.tooltip(olympians, Plot.stackY({}, Plot.binX({y: "count"}, {x: "weight", z: "sex", axis: "x"}))) + ] + }); +} + export async function tooltipDotColor() { const penguins = await d3.csv("data/penguins.csv", d3.autoType); return Plot.plot({ From d08aaa2db57a4835edb72a834a1929573c931325 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Thu, 4 May 2023 18:00:30 -0700 Subject: [PATCH 24/35] avoid conflicting listeners --- src/marks/tooltip.js | 201 ++++++++++++++++++++++--------------------- 1 file changed, 101 insertions(+), 100 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index bc282bbdd6..a87ce2be1f 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -77,113 +77,114 @@ export class Tooltip extends Mark { let i, xi, yi; // currently-focused index and position let c = corner; // last-used corner (for stability) let sticky = false; - select(svg.ownerDocument.defaultView) - .on("pointermove", (event) => { - if (sticky) return; - if (event.buttons === 1) return; // dragging - const rect = svg.getBoundingClientRect(); - let ii, fxi, fyi; - if ( - // Check if the pointer is near before scanning. - event.clientX + maxRadius > rect.left && - event.clientX - maxRadius < rect.right && - event.clientY + maxRadius > rect.top && - event.clientY - maxRadius < rect.bottom - ) { - const [xp, yp] = pointer(event, svg); - let ri = maxRadius * maxRadius; - for (const index of indexes) { - const fxj = index.fx; - const fyj = index.fy; - const oxj = fx ? fx(fxj) - marginLeft : 0; - const oyj = fy ? fy(fyj) - marginTop : 0; - for (const j of index) { - const xj = (X ? X[j] : cx) + oxj; - const yj = (Y ? Y[j] : cy) + oyj; - const dx = kx * (xj - xp); - const dy = ky * (yj - yp); - const rj = dx * dx + dy * dy; - if (rj <= ri) (ii = j), (ri = rj), (xi = xj), (yi = yj), (fxi = fxj), (fyi = fyj); - } + // TODO Cleanup listeners on SVG removal? + const window = svg.ownerDocument.defaultView; + window.addEventListener("pointermove", (event) => { + if (sticky) return; + if (event.buttons === 1) return; // dragging + const rect = svg.getBoundingClientRect(); + let ii, fxi, fyi; + if ( + // Check if the pointer is near before scanning. + event.clientX + maxRadius > rect.left && + event.clientX - maxRadius < rect.right && + event.clientY + maxRadius > rect.top && + event.clientY - maxRadius < rect.bottom + ) { + const [xp, yp] = pointer(event, svg); + let ri = maxRadius * maxRadius; + for (const index of indexes) { + const fxj = index.fx; + const fyj = index.fy; + const oxj = fx ? fx(fxj) - marginLeft : 0; + const oyj = fy ? fy(fyj) - marginTop : 0; + for (const j of index) { + const xj = (X ? X[j] : cx) + oxj; + const yj = (Y ? Y[j] : cy) + oyj; + const dx = kx * (xj - xp); + const dy = ky * (yj - yp); + const rj = dx * dx + dy * dy; + if (rj <= ri) (ii = j), (ri = rj), (xi = xj), (yi = yj), (fxi = fxj), (fyi = fyj); } } - if (i === ii) return; // abort if the tooltip hasn’t moved - i = ii; - if (i === undefined) { - dot.attr("display", "none"); - } else { - dot.attr("display", "inline"); - dot.attr("transform", `translate(${Math.round(xi)},${Math.round(yi)})`); - const text = []; - for (const key in channels) { - let channel = channels[key]; - while (channel.source) channel = channel.source; - if (channel.source === null) continue; // e.g., dodgeY’s y - const label = scales[channel.scale]?.label ?? key; - text.push([label, formatDefault(channel.value[i])]); - } - if (fxv != null) text.push([fx.label ?? "fx", formatFx(fxi)]); - if (fyv != null) text.push([fy.label ?? "fy", formatFy(fyi)]); - for (const line of text) { - let w = lineWidth * 100; - let [name, value] = line; - line[0] = name = String(name).trim(); - line[1] = value = ` ${String(value).trim()}\u200b`; // zwsp for double-click - const [i] = cut(name, w, widthof, ee); - if (i >= 0) { - // name is truncated - line[0] = name.slice(0, i).trimEnd() + ellipsis; - line[1] = ""; + } + if (i === ii) return; // abort if the tooltip hasn’t moved + i = ii; + if (i === undefined) { + dot.attr("display", "none"); + } else { + dot.attr("display", "inline"); + dot.attr("transform", `translate(${Math.round(xi)},${Math.round(yi)})`); + const text = []; + for (const key in channels) { + let channel = channels[key]; + while (channel.source) channel = channel.source; + if (channel.source === null) continue; // e.g., dodgeY’s y + const label = scales[channel.scale]?.label ?? key; + text.push([label, formatDefault(channel.value[i])]); + } + if (fxv != null) text.push([fx.label ?? "fx", formatFx(fxi)]); + if (fyv != null) text.push([fy.label ?? "fy", formatFy(fyi)]); + for (const line of text) { + let w = lineWidth * 100; + let [name, value] = line; + line[0] = name = String(name).trim(); + line[1] = value = ` ${String(value).trim()}\u200b`; // zwsp for double-click + const [i] = cut(name, w, widthof, ee); + if (i >= 0) { + // name is truncated + line[0] = name.slice(0, i).trimEnd() + ellipsis; + line[1] = ""; + line[2] = value.trim(); + } else { + const [j] = cut(value, w - widthof(name), widthof, ee); + if (j >= 0) { + // value is truncated + line[1] = value.slice(0, j).trimEnd() + ellipsis; line[2] = value.trim(); - } else { - const [j] = cut(value, w - widthof(name), widthof, ee); - if (j >= 0) { - // value is truncated - line[1] = value.slice(0, j).trimEnd() + ellipsis; - line[2] = value.trim(); - } } } - const tspan = content - .selectChildren() - .data(text) - .join("tspan") - .attr("x", 0) - .attr("y", (d, i) => `${i * lineHeight}em`); - tspan - .selectChildren() - .data((d) => d.slice(0, 2)) - .join("tspan") - .attr("font-weight", (d, i) => (i ? null : "bold")) - .text(String); - tspan - .selectAll("title") - .data((d) => (d.length > 2 ? [d[2]] : [])) - .join("title") - .text(String); - const {width: w, height: h} = content.node().getBBox(); - const {width, height} = svg.getBBox(); - if (corner === undefined) { - const cx = (/-left$/.test(c) ? xi + w + r * 2 > width : xi - w - r * 2 > 0) ? "right" : "left"; - const cy = (/^top-/.test(c) ? yi + h + m + r * 2 > height : yi - h - m - r * 2 > 0) ? "bottom" : "top"; - c = `${cy}-${cx}`; - } - const oy = getLineOffset(c, text) * lineHeight; - tspan.attr("y", (d, i) => `${i * lineHeight + oy}em`); - path.attr("d", getPath(c, m, r, w, h)); - content.attr("transform", getTextTransform(c, m, r, w, h)); } - }) - .on("pointerdown", () => { - if (sticky) { - sticky = false; - dot.attr("display", "none"); - dot.attr("pointer-events", "none"); - } else if (i !== undefined) { - sticky = true; - dot.attr("pointer-events", "all"); + const tspan = content + .selectChildren() + .data(text) + .join("tspan") + .attr("x", 0) + .attr("y", (d, i) => `${i * lineHeight}em`); + tspan + .selectChildren() + .data((d) => d.slice(0, 2)) + .join("tspan") + .attr("font-weight", (d, i) => (i ? null : "bold")) + .text(String); + tspan + .selectAll("title") + .data((d) => (d.length > 2 ? [d[2]] : [])) + .join("title") + .text(String); + const {width: w, height: h} = content.node().getBBox(); + const {width, height} = svg.getBBox(); + if (corner === undefined) { + const cx = (/-left$/.test(c) ? xi + w + r * 2 > width : xi - w - r * 2 > 0) ? "right" : "left"; + const cy = (/^top-/.test(c) ? yi + h + m + r * 2 > height : yi - h - m - r * 2 > 0) ? "bottom" : "top"; + c = `${cy}-${cx}`; } - }); + const oy = getLineOffset(c, text) * lineHeight; + tspan.attr("y", (d, i) => `${i * lineHeight + oy}em`); + path.attr("d", getPath(c, m, r, w, h)); + content.attr("transform", getTextTransform(c, m, r, w, h)); + } + }); + window.addEventListener("pointerdown", () => { + if (sticky) { + sticky = false; + dot.attr("display", "none"); + dot.attr("pointer-events", "none"); + } else if (i !== undefined) { + sticky = true; + dot.attr("pointer-events", "all"); + } + }); const dot = select(svg) .append("g") .attr("aria-label", "tooltip") From d2eb0b1ab93c75636592a2e6627ed8875415d12a Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Thu, 4 May 2023 20:19:20 -0700 Subject: [PATCH 25/35] tidy event listeners --- src/marks/tooltip.js | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index a87ce2be1f..9ca1041ada 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -12,6 +12,8 @@ const defaults = { stroke: "none" }; +const connected = new Set(); + export class Tooltip extends Mark { constructor(data, options = {}) { const { @@ -77,9 +79,8 @@ export class Tooltip extends Mark { let i, xi, yi; // currently-focused index and position let c = corner; // last-used corner (for stability) let sticky = false; - // TODO Cleanup listeners on SVG removal? - const window = svg.ownerDocument.defaultView; - window.addEventListener("pointermove", (event) => { + + function pointermove(event) { if (sticky) return; if (event.buttons === 1) return; // dragging const rect = svg.getBoundingClientRect(); @@ -174,8 +175,9 @@ export class Tooltip extends Mark { path.attr("d", getPath(c, m, r, w, h)); content.attr("transform", getTextTransform(c, m, r, w, h)); } - }); - window.addEventListener("pointerdown", () => { + } + + function pointerdown() { if (sticky) { sticky = false; dot.attr("display", "none"); @@ -184,23 +186,32 @@ export class Tooltip extends Mark { sticky = true; dot.attr("pointer-events", "all"); } - }); + } + + // TODO Cleanup listeners on SVG removal. + const window = svg.ownerDocument.defaultView; + window.addEventListener("pointermove", pointermove); + window.addEventListener("pointerdown", pointerdown); + const dot = select(svg) .append("g") .attr("aria-label", "tooltip") .attr("pointer-events", "none") // initially not sticky .attr("display", "none"); + const path = dot .append("path") .attr("fill", background) .attr("stroke", foreground) .attr("filter", "drop-shadow(0 3px 4px rgba(0,0,0,0.2))") - .on("pointerdown pointermove", (event) => event.stopPropagation()); + .on("pointerdown pointermove", stopPropagation); + const content = dot .append("text") .attr("fill", foreground) .call(applyIndirectTextStyles, this) - .on("pointerdown pointermove", (event) => event.stopPropagation()); + .on("pointerdown pointermove", stopPropagation); + return null; } } @@ -242,3 +253,7 @@ function getPath(corner, m, r, width, height) { return `M0,0l${-m},${-m}h${m - w}v${-h}h${w}z`; } } + +function stopPropagation(event) { + event.stopPropagation(); +} From 32e5d222fcaf9f7d8b9ea418fa7726750f44ca60 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Fri, 5 May 2023 07:48:38 -0700 Subject: [PATCH 26/35] =?UTF-8?q?don=E2=80=99t=20listen=20to=20window?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/marks/tooltip.js | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 9ca1041ada..f8cc36bbe9 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -12,8 +12,6 @@ const defaults = { stroke: "none" }; -const connected = new Set(); - export class Tooltip extends Mark { constructor(data, options = {}) { const { @@ -57,10 +55,14 @@ export class Tooltip extends Mark { this.maxRadius = +maxRadius; } render(index, scales, {x: X, y: Y, channels}, dimensions, context) { + // When faceting, only render this mark once. TODO We could use + // “super-faceting” to render this mark only once, perhaps, but we still + // want to compute faceted channels… const svg = context.ownerSVGElement; let indexes = this.indexesBySvg.get(svg); if (indexes) return void indexes.push(index); this.indexesBySvg.set(svg, (indexes = [index])); + const {fx, fy} = scales; const formatFx = fx && inferTickFormat(fx); const formatFy = fy && inferTickFormat(fy); @@ -72,8 +74,8 @@ export class Tooltip extends Mark { const ee = widthof(ellipsis); const r = 8; // “padding” const m = 12; // “margin” (flag size) - const foreground = "black"; - const background = "white"; + const foreground = "black"; // TODO fill option? + const background = "white"; // TODO stroke option? const kx = axis === "y" ? 1 / 100 : 1; const ky = axis === "x" ? 1 / 100 : 1; let i, xi, yi; // currently-focused index and position @@ -188,10 +190,20 @@ export class Tooltip extends Mark { } } - // TODO Cleanup listeners on SVG removal. - const window = svg.ownerDocument.defaultView; - window.addEventListener("pointermove", pointermove); - window.addEventListener("pointerdown", pointerdown); + function pointerleave() { + if (!sticky) { + dot.attr("display", "none"); + dot.attr("pointer-events", "none"); + } + } + + // We listen to the svg element; listening to the window instead would let + // us receive pointer events from farther away, but would also make it hard + // to know when to remove the listeners. (Using a mutation observer to watch + // the entire document is likely too expensive.) + svg.addEventListener("pointermove", pointermove); + svg.addEventListener("pointerdown", pointerdown); + svg.addEventListener("pointerleave", pointerleave); const dot = select(svg) .append("g") From 44a12910971ffa0179826aa4eca1a32193c972bc Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Fri, 5 May 2023 10:39:15 -0700 Subject: [PATCH 27/35] tooltip for extents --- src/marks/tooltip.js | 47 ++++++++++++++++++++++++++++++++++--------- test/plots/tooltip.ts | 2 +- 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index f8cc36bbe9..e0e8af7804 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -17,6 +17,10 @@ export class Tooltip extends Mark { const { x, y, + x1, + x2, + y1, + y2, maxRadius = 40, axis, corner, @@ -33,8 +37,12 @@ export class Tooltip extends Mark { super( data, { - x: {value: x, scale: "x", optional: true}, - y: {value: y, scale: "y", optional: true} + x: {value: x1 != null && x2 != null ? null : x, scale: "x", optional: true}, // ignore midpoint + y: {value: y1 != null && y2 != null ? null : y, scale: "y", optional: true}, // ignore midpoint + x1: {value: x1, scale: "x", optional: x2 == null}, + y1: {value: y1, scale: "y", optional: y2 == null}, + x2: {value: x2, scale: "x", optional: x1 == null}, + y2: {value: y2, scale: "y", optional: y1 == null} }, options, defaults @@ -54,7 +62,7 @@ export class Tooltip extends Mark { this.fontWeight = string(fontWeight); this.maxRadius = +maxRadius; } - render(index, scales, {x: X, y: Y, channels}, dimensions, context) { + render(index, scales, {x: X, y: Y, x1: X1, y1: Y1, x2: X2, y2: Y2, channels}, dimensions, context) { // When faceting, only render this mark once. TODO We could use // “super-faceting” to render this mark only once, perhaps, but we still // want to compute faceted channels… @@ -102,8 +110,8 @@ export class Tooltip extends Mark { const oxj = fx ? fx(fxj) - marginLeft : 0; const oyj = fy ? fy(fyj) - marginTop : 0; for (const j of index) { - const xj = (X ? X[j] : cx) + oxj; - const yj = (Y ? Y[j] : cy) + oyj; + const xj = (X2 ? (X1[j] + X2[j]) / 2 : X ? X[j] : cx) + oxj; + const yj = (Y2 ? (Y1[j] + Y2[j]) / 2 : Y ? Y[j] : cy) + oyj; const dx = kx * (xj - xp); const dy = ky * (yj - yp); const rj = dx * dx + dy * dy; @@ -120,11 +128,15 @@ export class Tooltip extends Mark { dot.attr("transform", `translate(${Math.round(xi)},${Math.round(yi)})`); const text = []; for (const key in channels) { - let channel = channels[key]; - while (channel.source) channel = channel.source; - if (channel.source === null) continue; // e.g., dodgeY’s y + const channel = getSource(channels, key); + if (!channel) continue; // e.g., dodgeY’s y + const channel1 = getSource1(channels, key); + if (channel1) continue; // already displayed + const channel2 = getSource2(channels, key); const label = scales[channel.scale]?.label ?? key; - text.push([label, formatDefault(channel.value[i])]); + const value1 = formatDefault(channel.value[i]); + const value2 = channel2 && formatDefault(channel2.value[i]); + text.push([label, channel2 ? `${value1}–${value2}` : value1]); } if (fxv != null) text.push([fx.label ?? "fx", formatFx(fxi)]); if (fyv != null) text.push([fy.label ?? "fy", formatFy(fyi)]); @@ -169,7 +181,7 @@ export class Tooltip extends Mark { const {width, height} = svg.getBBox(); if (corner === undefined) { const cx = (/-left$/.test(c) ? xi + w + r * 2 > width : xi - w - r * 2 > 0) ? "right" : "left"; - const cy = (/^top-/.test(c) ? yi + h + m + r * 2 > height : yi - h - m - r * 2 > 0) ? "bottom" : "top"; + const cy = (/^top-/.test(c) ? yi + h + m + r * 2 + 7 > height : yi - h - m - r * 2 > 0) ? "bottom" : "top"; c = `${cy}-${cx}`; } const oy = getLineOffset(c, text) * lineHeight; @@ -241,6 +253,21 @@ function maybeCorner(value) { return maybeKeyword(value, "corner", ["top-left", "top-right", "bottom-right", "bottom-left"]); } +function getSource(channels, key) { + let channel = channels[key]; + if (!channel) return; + while (channel.source) channel = channel.source; + return channel.source === null ? null : channel; +} + +function getSource1(channels, key) { + return key === "x2" ? getSource(channels, "x1") : key === "y2" ? getSource(channels, "y1") : null; +} + +function getSource2(channels, key) { + return key === "x1" ? getSource(channels, "x2") : key === "y1" ? getSource(channels, "y2") : null; +} + function getLineOffset(corner, text) { return /^top-/.test(corner) ? 0.94 : 0.71 - text.length; } diff --git a/test/plots/tooltip.ts b/test/plots/tooltip.ts index 8702345ff8..e4eaa5d27c 100644 --- a/test/plots/tooltip.ts +++ b/test/plots/tooltip.ts @@ -16,7 +16,7 @@ export async function tooltipBinStack() { return Plot.plot({ marks: [ Plot.rectY(olympians, Plot.binX({y: "count"}, {x: "weight", fill: "sex"})), - Plot.tooltip(olympians, Plot.stackY({}, Plot.binX({y: "count"}, {x: "weight", z: "sex", axis: "x"}))) + Plot.tooltip(olympians, Plot.stackY({}, Plot.binX({y: "count"}, {x: "weight", fill: "sex", axis: "x"}))) ] }); } From 9b9e868fce3865b20689ef5c685948e70b8d5cad Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Fri, 5 May 2023 10:52:01 -0700 Subject: [PATCH 28/35] show y2-y1 for stack --- src/channel.js | 2 +- src/marks/tooltip.js | 14 ++++++++++---- src/transforms/stack.js | 10 ++++++++-- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/channel.js b/src/channel.js index bb67310dd7..2f6ab38509 100644 --- a/src/channel.js +++ b/src/channel.js @@ -5,8 +5,8 @@ import {registry} from "./scales/index.js"; import {isSymbol, maybeSymbol} from "./symbol.js"; import {maybeReduce} from "./transforms/group.js"; -// TODO Type coercion? export function createChannel(data, {scale, type, value, filter, hint}, name) { + if (hint === undefined && typeof value?.transform === "function") hint = value.hint; return inferChannelScale(name, { scale, type, diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index e0e8af7804..fdc179991c 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -133,10 +133,16 @@ export class Tooltip extends Mark { const channel1 = getSource1(channels, key); if (channel1) continue; // already displayed const channel2 = getSource2(channels, key); - const label = scales[channel.scale]?.label ?? key; - const value1 = formatDefault(channel.value[i]); - const value2 = channel2 && formatDefault(channel2.value[i]); - text.push([label, channel2 ? `${value1}–${value2}` : value1]); + const value1 = channel.value[i]; + const value2 = channel2?.value[i]; + text.push([ + scales[channel.scale]?.label ?? key, + channel2 + ? channel2.hint?.length + ? `${formatDefault(value2 - value1)}` + : `${formatDefault(value1)}–${formatDefault(value2)}` + : formatDefault(value1) + ]); } if (fxv != null) text.push([fx.label ?? "fx", formatFx(fxi)]); if (fyv != null) text.push([fy.label ?? "fy", formatFy(fyi)]); diff --git a/src/transforms/stack.js b/src/transforms/stack.js index acb9ded1d6..9cab1c694f 100644 --- a/src/transforms/stack.js +++ b/src/transforms/stack.js @@ -66,11 +66,17 @@ function mergeOptions(options) { return [{offset, order, reverse}, rest]; } +// This is a hint to the tooltip mark that the y1 and y2 channels (for stackY, +// or conversely x1 and x2 for stackX) represent a stacked length, and that the +// tooltip should therefore show y2-y1 instead of an extent. +const lengthy = {length: true}; + function stack(x, y = one, kx, ky, {offset, order, reverse}, options) { const z = maybeZ(options); const [X, setX] = maybeColumn(x); const [Y1, setY1] = column(y); const [Y2, setY2] = column(y); + Y1.hint = Y2.hint = lengthy; offset = maybeOffset(offset); order = maybeOrder(order, offset, ky); return [ @@ -87,8 +93,8 @@ function stack(x, y = one, kx, ky, {offset, order, reverse}, options) { const stacks = X ? Array.from(group(facet, (i) => X[i]).values()) : [facet]; if (O) applyOrder(stacks, O); for (const stack of stacks) { - let yn = 0, - yp = 0; + let yn = 0; + let yp = 0; if (reverse) stack.reverse(); for (const i of stack) { const y = Y[i]; From f6559837829028c58e00e591546694e30727acc2 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Fri, 5 May 2023 10:58:37 -0700 Subject: [PATCH 29/35] s/corner/anchor/ --- src/marks/tooltip.d.ts | 2 +- src/marks/tooltip.js | 28 ++++++++++++++-------------- test/plots/tooltip.ts | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/marks/tooltip.d.ts b/src/marks/tooltip.d.ts index 96d11194d3..a8f4668b81 100644 --- a/src/marks/tooltip.d.ts +++ b/src/marks/tooltip.d.ts @@ -39,7 +39,7 @@ export interface TooltipOptions extends MarkOptions, TextStyles { axis?: "x" | "y" | "xy"; /** TODO */ - corner?: "top-left" | "top-right" | "bottom-right" | "bottom-left"; + anchor?: "top-left" | "top-right" | "bottom-right" | "bottom-left"; } /** diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index fdc179991c..6ad0083f23 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -22,8 +22,8 @@ export class Tooltip extends Mark { y1, y2, maxRadius = 40, + anchor, axis, - corner, monospace, fontFamily = monospace ? "ui-monospace, monospace" : undefined, fontSize, @@ -47,8 +47,8 @@ export class Tooltip extends Mark { options, defaults ); + this.anchor = maybeAnchor(anchor); this.axis = maybeAxis(axis); - this.corner = maybeCorner(corner); this.frameAnchor = maybeFrameAnchor(frameAnchor); this.indexesBySvg = new WeakMap(); this.textAnchor = "start"; // TODO option? @@ -75,7 +75,7 @@ export class Tooltip extends Mark { const formatFx = fx && inferTickFormat(fx); const formatFy = fy && inferTickFormat(fy); const [cx, cy] = applyFrameAnchor(this, dimensions); - const {axis, corner, monospace, lineHeight, lineWidth, maxRadius, fx: fxv, fy: fyv} = this; + const {axis, anchor, monospace, lineHeight, lineWidth, maxRadius, fx: fxv, fy: fyv} = this; const widthof = monospace ? monospaceWidth : defaultWidth; const {marginLeft, marginTop} = dimensions; const ellipsis = "…"; @@ -87,7 +87,7 @@ export class Tooltip extends Mark { const kx = axis === "y" ? 1 / 100 : 1; const ky = axis === "x" ? 1 / 100 : 1; let i, xi, yi; // currently-focused index and position - let c = corner; // last-used corner (for stability) + let c = anchor; // last-used anchor (for stability) let sticky = false; function pointermove(event) { @@ -185,7 +185,7 @@ export class Tooltip extends Mark { .text(String); const {width: w, height: h} = content.node().getBBox(); const {width, height} = svg.getBBox(); - if (corner === undefined) { + if (anchor === undefined) { const cx = (/-left$/.test(c) ? xi + w + r * 2 > width : xi - w - r * 2 > 0) ? "right" : "left"; const cy = (/^top-/.test(c) ? yi + h + m + r * 2 + 7 > height : yi - h - m - r * 2 > 0) ? "bottom" : "top"; c = `${cy}-${cx}`; @@ -255,8 +255,8 @@ function maybeAxis(value = "xy") { return keyword(value, "axis", ["x", "y", "xy"]); } -function maybeCorner(value) { - return maybeKeyword(value, "corner", ["top-left", "top-right", "bottom-right", "bottom-left"]); +function maybeAnchor(value) { + return maybeKeyword(value, "anchor", ["top-left", "top-right", "bottom-right", "bottom-left"]); } function getSource(channels, key) { @@ -274,20 +274,20 @@ function getSource2(channels, key) { return key === "x1" ? getSource(channels, "x2") : key === "y1" ? getSource(channels, "y2") : null; } -function getLineOffset(corner, text) { - return /^top-/.test(corner) ? 0.94 : 0.71 - text.length; +function getLineOffset(anchor, text) { + return /^top-/.test(anchor) ? 0.94 : 0.71 - text.length; } -function getTextTransform(corner, m, r, width) { - const x = /-left$/.test(corner) ? r : -width - r; - const y = /^top-/.test(corner) ? m + r : -m - r; +function getTextTransform(anchor, m, r, width) { + const x = /-left$/.test(anchor) ? r : -width - r; + const y = /^top-/.test(anchor) ? m + r : -m - r; return `translate(${x},${y})`; } -function getPath(corner, m, r, width, height) { +function getPath(anchor, m, r, width, height) { const w = width + r * 2; const h = height + r * 2; - switch (corner) { + switch (anchor) { case "top-left": return `M0,0l${m},${m}h${w - m}v${h}h${-w}z`; case "top-right": diff --git a/test/plots/tooltip.ts b/test/plots/tooltip.ts index e4eaa5d27c..2a1cb0e39b 100644 --- a/test/plots/tooltip.ts +++ b/test/plots/tooltip.ts @@ -146,6 +146,6 @@ export async function tooltipRule() { return Plot.plot({ grid: true, style: "overflow: visible;", - marks: [Plot.ruleX(penguins, {x: "body_mass_g"}), Plot.tooltip(penguins, {x: "body_mass_g", corner: "bottom-left"})] + marks: [Plot.ruleX(penguins, {x: "body_mass_g"}), Plot.tooltip(penguins, {x: "body_mass_g", anchor: "bottom-left"})] }); } From f5dc9dc535c9d92db3e42b7562a76aec25249b8f Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Fri, 5 May 2023 11:17:02 -0700 Subject: [PATCH 30/35] fix anchor oscillation --- src/marks/tooltip.js | 19 +++++++++++-------- test/plots/tooltip.ts | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 6ad0083f23..5bf4a9a23d 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -87,7 +87,7 @@ export class Tooltip extends Mark { const kx = axis === "y" ? 1 / 100 : 1; const ky = axis === "x" ? 1 / 100 : 1; let i, xi, yi; // currently-focused index and position - let c = anchor; // last-used anchor (for stability) + let c = anchor ?? "top-left"; // last-used anchor (for stability) let sticky = false; function pointermove(event) { @@ -121,11 +121,8 @@ export class Tooltip extends Mark { } if (i === ii) return; // abort if the tooltip hasn’t moved i = ii; - if (i === undefined) { - dot.attr("display", "none"); - } else { - dot.attr("display", "inline"); - dot.attr("transform", `translate(${Math.round(xi)},${Math.round(yi)})`); + dot.attr("display", "none"); + if (i !== undefined) { const text = []; for (const key in channels) { const channel = getSource(channels, key); @@ -186,14 +183,20 @@ export class Tooltip extends Mark { const {width: w, height: h} = content.node().getBBox(); const {width, height} = svg.getBBox(); if (anchor === undefined) { - const cx = (/-left$/.test(c) ? xi + w + r * 2 > width : xi - w - r * 2 > 0) ? "right" : "left"; - const cy = (/^top-/.test(c) ? yi + h + m + r * 2 + 7 > height : yi - h - m - r * 2 > 0) ? "bottom" : "top"; + const fitLeft = xi + w + r * 2 < width; + const fitRight = xi - w - r * 2 > 0; + const fitTop = yi + h + m + r * 2 + 7 < height; + const fitBottom = yi - h - m - r * 2 > 0; + const cx = (/-left$/.test(c) ? fitLeft || !fitRight : fitLeft && !fitRight) ? "left" : "right"; + const cy = (/^top-/.test(c) ? fitTop || !fitBottom : fitTop && !fitBottom) ? "top" : "bottom"; c = `${cy}-${cx}`; } const oy = getLineOffset(c, text) * lineHeight; tspan.attr("y", (d, i) => `${i * lineHeight + oy}em`); path.attr("d", getPath(c, m, r, w, h)); content.attr("transform", getTextTransform(c, m, r, w, h)); + dot.attr("transform", `translate(${Math.round(xi)},${Math.round(yi)})`); + dot.attr("display", "inline"); // make visible only after getBBox } } diff --git a/test/plots/tooltip.ts b/test/plots/tooltip.ts index 2a1cb0e39b..20b8b8ab61 100644 --- a/test/plots/tooltip.ts +++ b/test/plots/tooltip.ts @@ -146,6 +146,6 @@ export async function tooltipRule() { return Plot.plot({ grid: true, style: "overflow: visible;", - marks: [Plot.ruleX(penguins, {x: "body_mass_g"}), Plot.tooltip(penguins, {x: "body_mass_g", anchor: "bottom-left"})] + marks: [Plot.ruleX(penguins, {x: "body_mass_g"}), Plot.tooltip(penguins, {x: "body_mass_g"})] }); } From 6bccc9194b39d32c9f8e1261d49ff13669017d78 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Fri, 5 May 2023 11:49:03 -0700 Subject: [PATCH 31/35] append tooltip asynchronously --- src/marks/tooltip.js | 25 ++++++++++++++----------- test/output/tooltipBinStack.svg | 3 +++ test/plots/tooltip.ts | 3 ++- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 5bf4a9a23d..cc458aae34 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -1,4 +1,5 @@ -import {pointer, select} from "d3"; +import {pointer} from "d3"; +import {create} from "../context.js"; import {formatDefault} from "../format.js"; import {Mark} from "../mark.js"; import {keyword, maybeFrameAnchor, maybeKeyword, maybeTuple, number, string} from "../options.js"; @@ -218,16 +219,7 @@ export class Tooltip extends Mark { } } - // We listen to the svg element; listening to the window instead would let - // us receive pointer events from farther away, but would also make it hard - // to know when to remove the listeners. (Using a mutation observer to watch - // the entire document is likely too expensive.) - svg.addEventListener("pointermove", pointermove); - svg.addEventListener("pointerdown", pointerdown); - svg.addEventListener("pointerleave", pointerleave); - - const dot = select(svg) - .append("g") + const dot = create("svg:g", context) .attr("aria-label", "tooltip") .attr("pointer-events", "none") // initially not sticky .attr("display", "none"); @@ -245,6 +237,17 @@ export class Tooltip extends Mark { .call(applyIndirectTextStyles, this) .on("pointerdown pointermove", stopPropagation); + // We listen to the svg element; listening to the window instead would let + // us receive pointer events from farther away, but would also make it hard + // to know when to remove the listeners. (Using a mutation observer to watch + // the entire document is likely too expensive.) + svg.addEventListener("pointermove", pointermove); + svg.addEventListener("pointerdown", pointerdown); + svg.addEventListener("pointerleave", pointerleave); + + // The tooltip is added asynchronously to draw on top of all other marks. + Promise.resolve().then(() => svg.append(dot.node())); + return null; } } diff --git a/test/output/tooltipBinStack.svg b/test/output/tooltipBinStack.svg index 3237cce1c9..4f5a8781db 100644 --- a/test/output/tooltipBinStack.svg +++ b/test/output/tooltipBinStack.svg @@ -185,6 +185,9 @@ + + + diff --git a/test/plots/tooltip.ts b/test/plots/tooltip.ts index 20b8b8ab61..bd9ae46eb9 100644 --- a/test/plots/tooltip.ts +++ b/test/plots/tooltip.ts @@ -16,7 +16,8 @@ export async function tooltipBinStack() { return Plot.plot({ marks: [ Plot.rectY(olympians, Plot.binX({y: "count"}, {x: "weight", fill: "sex"})), - Plot.tooltip(olympians, Plot.stackY({}, Plot.binX({y: "count"}, {x: "weight", fill: "sex", axis: "x"}))) + Plot.tooltip(olympians, Plot.stackY({}, Plot.binX({y: "count"}, {x: "weight", fill: "sex", axis: "x"}))), + Plot.ruleY([0]) ] }); } From 2261a39954d4528eb4e73fe2f037f1220476cb04 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Fri, 5 May 2023 16:39:51 -0700 Subject: [PATCH 32/35] fix lineHeight --- src/marks/tooltip.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index cc458aae34..8da802f5bb 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -192,7 +192,7 @@ export class Tooltip extends Mark { const cy = (/^top-/.test(c) ? fitTop || !fitBottom : fitTop && !fitBottom) ? "top" : "bottom"; c = `${cy}-${cx}`; } - const oy = getLineOffset(c, text) * lineHeight; + const oy = getLineOffset(c, text, lineHeight); tspan.attr("y", (d, i) => `${i * lineHeight + oy}em`); path.attr("d", getPath(c, m, r, w, h)); content.attr("transform", getTextTransform(c, m, r, w, h)); @@ -280,8 +280,8 @@ function getSource2(channels, key) { return key === "x1" ? getSource(channels, "x2") : key === "y1" ? getSource(channels, "y2") : null; } -function getLineOffset(anchor, text) { - return /^top-/.test(anchor) ? 0.94 : 0.71 - text.length; +function getLineOffset(anchor, text, lineHeight) { + return /^top-/.test(anchor) ? 0.94 : -0.29 - (text.length - 1) * lineHeight; } function getTextTransform(anchor, m, r, width) { From efad9d7e5f015c547f28bf2c9b445906ea3b01bd Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Fri, 5 May 2023 17:02:20 -0700 Subject: [PATCH 33/35] simplify text layout --- src/marks/tooltip.js | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 8da802f5bb..f98ab6ab09 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -164,23 +164,29 @@ export class Tooltip extends Mark { } } } - const tspan = content + + content .selectChildren() .data(text) .join("tspan") .attr("x", 0) - .attr("y", (d, i) => `${i * lineHeight}em`); - tspan - .selectChildren() - .data((d) => d.slice(0, 2)) - .join("tspan") - .attr("font-weight", (d, i) => (i ? null : "bold")) - .text(String); - tspan - .selectAll("title") - .data((d) => (d.length > 2 ? [d[2]] : [])) - .join("title") - .text(String); + .attr("dy", `${lineHeight}em`) + .call((tspan) => + tspan + .selectChildren() + .data((d) => d.slice(0, 2)) + .join("tspan") + .attr("font-weight", (d, i) => (i ? null : "bold")) + .text(String) + ) + .call((tspan) => + tspan + .selectAll("title") + .data((d) => (d.length > 2 ? [d[2]] : [])) + .join("title") + .text(String) + ); + const {width: w, height: h} = content.node().getBBox(); const {width, height} = svg.getBBox(); if (anchor === undefined) { @@ -192,9 +198,8 @@ export class Tooltip extends Mark { const cy = (/^top-/.test(c) ? fitTop || !fitBottom : fitTop && !fitBottom) ? "top" : "bottom"; c = `${cy}-${cx}`; } - const oy = getLineOffset(c, text, lineHeight); - tspan.attr("y", (d, i) => `${i * lineHeight + oy}em`); path.attr("d", getPath(c, m, r, w, h)); + content.attr("y", `${+getLineOffset(c, text, lineHeight).toFixed(6)}em`); content.attr("transform", getTextTransform(c, m, r, w, h)); dot.attr("transform", `translate(${Math.round(xi)},${Math.round(yi)})`); dot.attr("display", "inline"); // make visible only after getBBox @@ -281,7 +286,7 @@ function getSource2(channels, key) { } function getLineOffset(anchor, text, lineHeight) { - return /^top-/.test(anchor) ? 0.94 : -0.29 - (text.length - 1) * lineHeight; + return /^top-/.test(anchor) ? 0.94 - lineHeight : -0.29 - text.length * lineHeight; } function getTextTransform(anchor, m, r, width) { From 36d6a37f826b2313c5ee7c48fd0cde244ba1fc3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Rivi=C3=A8re?= Date: Sat, 6 May 2023 09:54:24 -0700 Subject: [PATCH 34/35] mobile tooltip on tap (#1526) * mobile tooltip on tap test: https://observablehq.com/@fil/tt-tests * pointermove on pointerenter * ignore pointerleave for non-mouse --------- Co-authored-by: Mike Bostock --- src/marks/tooltip.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index f98ab6ab09..0a67fa100b 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -92,8 +92,7 @@ export class Tooltip extends Mark { let sticky = false; function pointermove(event) { - if (sticky) return; - if (event.buttons === 1) return; // dragging + if (sticky || (event.pointerType === "mouse" && event.buttons === 1)) return; // dragging const rect = svg.getBoundingClientRect(); let ii, fxi, fyi; if ( @@ -206,7 +205,8 @@ export class Tooltip extends Mark { } } - function pointerdown() { + function pointerdown(event) { + if (event.pointerType !== "mouse") return; if (sticky) { sticky = false; dot.attr("display", "none"); @@ -217,7 +217,8 @@ export class Tooltip extends Mark { } } - function pointerleave() { + function pointerleave(event) { + if (event.pointerType !== "mouse") return; if (!sticky) { dot.attr("display", "none"); dot.attr("pointer-events", "none"); @@ -246,6 +247,7 @@ export class Tooltip extends Mark { // us receive pointer events from farther away, but would also make it hard // to know when to remove the listeners. (Using a mutation observer to watch // the entire document is likely too expensive.) + svg.addEventListener("pointerenter", pointermove); svg.addEventListener("pointermove", pointermove); svg.addEventListener("pointerdown", pointerdown); svg.addEventListener("pointerleave", pointerleave); From 97b93c6a49848f1fa4701a1569c9835eacd9d997 Mon Sep 17 00:00:00 2001 From: Mike Bostock Date: Sat, 6 May 2023 17:32:04 -0700 Subject: [PATCH 35/35] simpler pointer-events --- src/marks/tooltip.js | 44 +++++++++----------------------- test/output/tooltipBin.svg | 2 +- test/output/tooltipBinStack.svg | 2 +- test/output/tooltipDotColor.svg | 2 +- test/output/tooltipDotDodge.svg | 2 +- test/output/tooltipDotFacets.svg | 2 +- test/output/tooltipLineColor.svg | 2 +- test/output/tooltipMultiLine.svg | 2 +- test/output/tooltipRule.svg | 2 +- 9 files changed, 20 insertions(+), 40 deletions(-) diff --git a/src/marks/tooltip.js b/src/marks/tooltip.js index 0a67fa100b..46a3a713a1 100644 --- a/src/marks/tooltip.js +++ b/src/marks/tooltip.js @@ -121,7 +121,7 @@ export class Tooltip extends Mark { } if (i === ii) return; // abort if the tooltip hasn’t moved i = ii; - dot.attr("display", "none"); + tip.attr("display", "none"); if (i !== undefined) { const text = []; for (const key in channels) { @@ -200,48 +200,32 @@ export class Tooltip extends Mark { path.attr("d", getPath(c, m, r, w, h)); content.attr("y", `${+getLineOffset(c, text, lineHeight).toFixed(6)}em`); content.attr("transform", getTextTransform(c, m, r, w, h)); - dot.attr("transform", `translate(${Math.round(xi)},${Math.round(yi)})`); - dot.attr("display", "inline"); // make visible only after getBBox + tip.attr("transform", `translate(${Math.round(xi)},${Math.round(yi)})`); + tip.attr("display", "inline"); // make visible only after getBBox } } function pointerdown(event) { if (event.pointerType !== "mouse") return; - if (sticky) { - sticky = false; - dot.attr("display", "none"); - dot.attr("pointer-events", "none"); - } else if (i !== undefined) { - sticky = true; - dot.attr("pointer-events", "all"); - } + if (sticky && tip.node().contains(event.target)) return; // stay sticky + if (sticky) (sticky = false), tip.attr("display", "none"); + else if (i !== undefined) sticky = true; } function pointerleave(event) { if (event.pointerType !== "mouse") return; - if (!sticky) { - dot.attr("display", "none"); - dot.attr("pointer-events", "none"); - } + if (!sticky) tip.attr("display", "none"); } - const dot = create("svg:g", context) - .attr("aria-label", "tooltip") - .attr("pointer-events", "none") // initially not sticky - .attr("display", "none"); + const tip = create("svg:g", context).attr("aria-label", "tooltip").attr("display", "none"); - const path = dot + const path = tip .append("path") .attr("fill", background) .attr("stroke", foreground) - .attr("filter", "drop-shadow(0 3px 4px rgba(0,0,0,0.2))") - .on("pointerdown pointermove", stopPropagation); + .attr("filter", "drop-shadow(0 3px 4px rgba(0,0,0,0.2))"); - const content = dot - .append("text") - .attr("fill", foreground) - .call(applyIndirectTextStyles, this) - .on("pointerdown pointermove", stopPropagation); + const content = tip.append("text").attr("fill", foreground).call(applyIndirectTextStyles, this); // We listen to the svg element; listening to the window instead would let // us receive pointer events from farther away, but would also make it hard @@ -253,7 +237,7 @@ export class Tooltip extends Mark { svg.addEventListener("pointerleave", pointerleave); // The tooltip is added asynchronously to draw on top of all other marks. - Promise.resolve().then(() => svg.append(dot.node())); + Promise.resolve().then(() => svg.append(tip.node())); return null; } @@ -311,7 +295,3 @@ function getPath(anchor, m, r, width, height) { return `M0,0l${-m},${-m}h${m - w}v${-h}h${w}z`; } } - -function stopPropagation(event) { - event.stopPropagation(); -} diff --git a/test/output/tooltipBin.svg b/test/output/tooltipBin.svg index c4c53e885b..318c4b95b1 100644 --- a/test/output/tooltipBin.svg +++ b/test/output/tooltipBin.svg @@ -138,7 +138,7 @@ - + diff --git a/test/output/tooltipBinStack.svg b/test/output/tooltipBinStack.svg index 4f5a8781db..d0c9fb71f6 100644 --- a/test/output/tooltipBinStack.svg +++ b/test/output/tooltipBinStack.svg @@ -188,7 +188,7 @@ - + diff --git a/test/output/tooltipDotColor.svg b/test/output/tooltipDotColor.svg index a109588b26..286bf304e1 100644 --- a/test/output/tooltipDotColor.svg +++ b/test/output/tooltipDotColor.svg @@ -414,7 +414,7 @@ - + diff --git a/test/output/tooltipDotDodge.svg b/test/output/tooltipDotDodge.svg index 3a61c3fffa..40b99d1bc1 100644 --- a/test/output/tooltipDotDodge.svg +++ b/test/output/tooltipDotDodge.svg @@ -651,7 +651,7 @@ 2.1 2.0 - + diff --git a/test/output/tooltipDotFacets.svg b/test/output/tooltipDotFacets.svg index a433d7d9c0..fcf84396eb 100644 --- a/test/output/tooltipDotFacets.svg +++ b/test/output/tooltipDotFacets.svg @@ -11203,7 +11203,7 @@ - + diff --git a/test/output/tooltipLineColor.svg b/test/output/tooltipLineColor.svg index 69548a219d..868a19e7e5 100644 --- a/test/output/tooltipLineColor.svg +++ b/test/output/tooltipLineColor.svg @@ -1344,7 +1344,7 @@ - + diff --git a/test/output/tooltipMultiLine.svg b/test/output/tooltipMultiLine.svg index 8972d43ff2..7cc2152132 100644 --- a/test/output/tooltipMultiLine.svg +++ b/test/output/tooltipMultiLine.svg @@ -106,7 +106,7 @@ - + diff --git a/test/output/tooltipRule.svg b/test/output/tooltipRule.svg index cc08440a44..b526c6bab5 100644 --- a/test/output/tooltipRule.svg +++ b/test/output/tooltipRule.svg @@ -387,7 +387,7 @@ - +