Skip to content

Class: D3PPieRenderer ​

Defined in: core/renderers/pie.ts:92

A pie (or donut, or ring of a nested pie): one slice per point of the series, x being the name of the slice and y its size. Values that are not positive numbers have no slice.

It has no axes. It draws in a polar coordinate system (the polar one by default, or the one named by the system option) and takes its center, outer radius, hole (innerRadius), start angle and direction from it, so the same system settings shape pies and polar charts.

Its legend has one entry per slice, which shows and hides it; its tooltip is answered by testing the pointer against the slices.

Extends ​

Accessors ​

color ​

Get Signature ​

ts
get color(): string;

Defined in: core/renderers/base.ts:194

The color of the renderer: the one in its style, or the one its name gives.

Returns ​

string

Inherited from ​

D3PSeriesRenderer.color


marker ​

Get Signature ​

ts
get marker(): D3PMarker | undefined;

Defined in: core/renderers/base.ts:140

What shows the point under the pointer; undefined for none.

Returns ​

D3PMarker | undefined

Set Signature ​

ts
set marker(m): void;

Defined in: core/renderers/base.ts:144

Replaces the marker, or removes it with undefined.

Parameters ​
m ​

D3PMarker | undefined

Returns ​

void

Inherited from ​

D3PSeriesRenderer.marker


props ​

Get Signature ​

ts
get props(): D3PProps<P & object>;

Defined in: core/renderers/base.ts:159

The props of the renderer: its style, what its type adds, and visible.

Returns ​

D3PProps<P & object>

Set Signature ​

ts
set props(v): void;

Defined in: core/renderers/base.ts:163

Merges props into those of the renderer; it is drawn again, with a transition.

Parameters ​
v ​

DeepPartial<P & object>

Returns ​

void

Inherited from ​

D3PSeriesRenderer.props


series ​

Get Signature ​

ts
get series(): D3PSeries;

Defined in: core/renderers/base.ts:168

The series the renderer draws.

Returns ​

D3PSeries

Set Signature ​

ts
set series(s): void;

Defined in: core/renderers/base.ts:172

Changes the series: the renderer is drawn again.

Parameters ​
s ​

D3PSeries

Returns ​

void

Inherited from ​

D3PSeriesRenderer.series


visible ​

Get Signature ​

ts
get visible(): boolean;

Defined in: core/renderers/base.ts:183

Whether the renderer is shown.

Returns ​

boolean

Set Signature ​

ts
set visible(v): void;

Defined in: core/renderers/base.ts:187

Shows or hides the renderer, with a transition.

Parameters ​
v ​

boolean

Returns ​

void

Inherited from ​

D3PSeriesRenderer.visible

Constructors ​

Constructor ​

ts
new D3PPieRenderer(opts): D3PPieRenderer;

Defined in: core/renderers/pie.ts:96

Parameters ​

opts ​

D3PSeriesRendererOptions<D3PPieProps>

Returns ​

D3PPieRenderer

Overrides ​

D3PSeriesRenderer.constructor

Methods ​

addToChart() ​

ts
addToChart(chart): void;

Defined in: core/object.ts:77

Attaches the object to a chart; nothing happens if it already is attached to it.

Parameters ​

chart ​

D3PChart

Returns ​

void

Inherited from ​

D3PSeriesRenderer.addToChart


attached() ​

ts
protected attached(
   chart, 
   data, 
   subs
): void;

Defined in: core/renderers/pie.ts:243

Subscribe / create DOM. Subscriptions added to subs are released on detach.

Parameters ​

chart ​

D3PChart

data ​

D3PRendererChartData<PieData>

subs ​

D3PSubscriptions

Returns ​

void

Overrides ​

D3PSeriesRenderer.attached


chartAdded() ​

ts
protected chartAdded(chart, data): void;

Defined in: core/renderers/pie.ts:228

Creates the group the slices are drawn in.

Parameters ​

chart ​

D3PChart

data ​

PieData

Returns ​

void

Overrides ​

D3PSeriesRenderer.chartAdded


chartRemoved() ​

ts
protected chartRemoved(_chart, data): void;

Defined in: core/renderers/pie.ts:239

Removes the slices of the chart.

Parameters ​

_chart ​

D3PChart

data ​

PieData

Returns ​

void

Overrides ​

D3PSeriesRenderer.chartRemoved


checkColumns() ​

ts
protected checkColumns(series?): void;

Defined in: core/renderers/base.ts:255

Throws when the series lacks a column this renderer reads.

Parameters ​

series? ​

D3PSeries = ...

Returns ​

void

Inherited from ​

D3PSeriesRenderer.checkColumns


createData() ​

ts
protected createData(chart): D3PRendererChartData<PieData>;

Defined in: core/renderers/base.ts:291

Build the per-chart record. Must not rely on other objects of the chart.

Parameters ​

chart ​

D3PChart

Returns ​

D3PRendererChartData<PieData>

Inherited from ​

D3PSeriesRenderer.createData


createGroup() ​

ts
protected createGroup(chart): Group;

Defined in: core/renderers/base.ts:420

Create the renderer's own group in the middle data layer.

Parameters ​

chart ​

D3PChart

Returns ​

Group

Inherited from ​

D3PSeriesRenderer.createGroup


createMarker() ​

ts
createMarker(): D3PMarker;

Defined in: core/renderers/pie.ts:185

The marker this kind of renderer has by default (none unless overridden).

Returns ​

D3PMarker

Overrides ​

D3PSeriesRenderer.createMarker


createRendererData() ​

ts
protected createRendererData(): PieData;

Defined in: core/renderers/pie.ts:223

Creates what the renderer keeps for a chart.

Returns ​

PieData

Overrides ​

D3PSeriesRenderer.createRendererData


destroy() ​

ts
destroy(): void;

Defined in: core/object.ts:51

Detaches the object from all its charts, announces destroyed and releases its subscriptions. The object cannot be used afterwards.

Returns ​

void

Inherited from ​

D3PSeriesRenderer.destroy


detached() ​

ts
protected detached(chart, data): void;

Defined in: core/renderers/base.ts:306

DOM / registry cleanup (subscriptions are released afterwards).

Parameters ​

chart ​

D3PChart

data ​

D3PRendererChartData<PieData>

Returns ​

void

Inherited from ​

D3PSeriesRenderer.detached


entriesChanged() ​

ts
protected entriesChanged(): void;

Defined in: core/renderers/base.ts:210

Announce that legendEntries() changed (the legend refreshes).

Returns ​

void

Inherited from ​

D3PSeriesRenderer.entriesChanged


fire() ​

ts
protected fire<P>(event, ...args): void;

Defined in: core/object.ts:41

Emits one of its own events on the bus.

Type Parameters ​

P ​

P

Parameters ​

event ​

D3PEvent<P>

args ​

...P extends void ? [] : [payload: P]

Returns ​

void

Inherited from ​

D3PSeriesRenderer.fire


getAxes() ​

ts
getAxes(): object;

Defined in: core/renderers/pie.ts:173

Axes this renderer draws against on chart: the one the series' x is plotted on, and the one for its y. By default the first X-component axis and the first Y-component axis of the same coordinate system; a horizontal renderer swaps them.

Returns ​

object

x? ​
ts
x?: D3PAxis;
y? ​
ts
y?: D3PAxis;

Overrides ​

D3PSeriesRenderer.getAxes


getCharts() ​

ts
getCharts(): D3PChart[];

Defined in: core/object.ts:105

The charts the object is attached to.

Returns ​

D3PChart[]

Inherited from ​

D3PSeriesRenderer.getCharts


hasChart() ​

ts
hasChart(chart): boolean;

Defined in: core/object.ts:110

Whether the object is attached to this chart.

Parameters ​

chart ​

D3PChart

Returns ​

boolean

Inherited from ​

D3PSeriesRenderer.hasChart


legendEntries() ​

ts
legendEntries(): D3PLegendItem[];

Defined in: core/renderers/pie.ts:151

The legend lines of this renderer: itself by default.

Returns ​

D3PLegendItem[]

Overrides ​

D3PSeriesRenderer.legendEntries


onDestroy() ​

ts
protected onDestroy(): void;

Defined in: core/renderers/base.ts:264

Hook run first on destroy (detach from partners, release DOM...).

Returns ​

void

Inherited from ​

D3PSeriesRenderer.onDestroy


probeHit() ​

ts
probeHit(chart, event): D3PProbeHit | undefined;

Defined in: core/renderers/pie.ts:213

What this renderer finds for event on chart: by default the data point whose X is closest to the value under the pointer (read through the probe, so joins apply). Renderers that do not map data through axes (a pie) test the pixel instead. Ask the probe (d3pProbe(chart).hit) rather than this method: it computes once per event.

Parameters ​

chart ​

D3PChart

event ​

D3PPointerEvent

Returns ​

D3PProbeHit | undefined

Overrides ​

D3PSeriesRenderer.probeHit


projectFrom() ​

ts
projectFrom(): undefined;

Defined in: core/renderers/pie.ts:179

Data values [x, y] under a viewport point; undefined outside of the system.

Returns ​

undefined

Overrides ​

D3PSeriesRenderer.projectFrom


projectTo() ​

ts
projectTo(): undefined;

Defined in: core/renderers/pie.ts:176

Viewport point of the data point (x, y).

Returns ​

undefined

Overrides ​

D3PSeriesRenderer.projectTo


projectToRange() ​

ts
projectToRange(
   chart, 
   x, 
   y, 
   cache?
): [number, number] | undefined;

Defined in: core/renderers/base.ts:341

Position of the data point (x, y) in range units, in the order of the dimensions of the system (the series' x goes on the first dimension unless the renderer is horizontal).

Parameters ​

chart ​

D3PChart

x ​

D3PDomainValue

y ​

D3PDomainValue

cache? ​

D3PProjectionCache

Returns ​

[number, number] | undefined

Inherited from ​

D3PSeriesRenderer.projectToRange


removeFromChart() ​

ts
removeFromChart(chart): void;

Defined in: core/object.ts:95

Detaches the object from a chart; nothing happens if it is not attached to it.

Parameters ​

chart ​

D3PChart

Returns ​

void

Inherited from ​

D3PSeriesRenderer.removeFromChart


render() ​

ts
render(chart): Promise<void>;

Defined in: core/renderers/base.ts:387

Draws the object on a chart. The render manager calls it, once per frame, for the objects that asked for it.

Parameters ​

chart ​

D3PChart

Returns ​

Promise<void>

Inherited from ​

D3PSeriesRenderer.render


renderData() ​

ts
protected renderData(chart, data): void;

Defined in: core/renderers/pie.ts:288

Draws the slices at once, with no transition.

Parameters ​

chart ​

D3PChart

data ​

PieData

Returns ​

void

Overrides ​

D3PSeriesRenderer.renderData


renderDataHidden() ​

ts
protected renderDataHidden(chart, data): void;

Defined in: core/renderers/pie.ts:297

Draws the slices going away, towards the center.

Parameters ​

chart ​

D3PChart

data ​

PieData

Returns ​

void

Overrides ​

D3PSeriesRenderer.renderDataHidden


renderDataWithTransition() ​

ts
protected renderDataWithTransition(chart, data): void;

Defined in: core/renderers/pie.ts:292

Draws the slices moving from what is on screen to what the data says now.

Parameters ​

chart ​

D3PChart

data ​

PieData

Returns ​

void

Overrides ​

D3PSeriesRenderer.renderDataWithTransition


scalesOf() ​

ts
protected scalesOf(
   chart, 
   x?, 
   y?
): 
  | {
  sx: D3PScale;
  sy: D3PScale;
  system: D3PCoordinateSystem;
}
  | undefined;

Defined in: core/renderers/base.ts:430

Scales and coordinate system to draw with; throws if the system is not one the renderer supports.

Parameters ​

chart ​

D3PChart

x? ​

D3PAxis

y? ​

D3PAxis

Returns ​

| { sx: D3PScale; sy: D3PScale; system: D3PCoordinateSystem; } | undefined

Inherited from ​

D3PSeriesRenderer.scalesOf


seriesChanged() ​

ts
protected seriesChanged(): void;

Defined in: core/renderers/pie.ts:167

The series, or its data, changed. Renderers whose legend depends on the data announce it here.

Returns ​

void

Overrides ​

D3PSeriesRenderer.seriesChanged


slices() ​

ts
slices(chart): D3PPieSlice[];

Defined in: core/renderers/pie.ts:120

The slices on screen, laid out around the circle of system (hidden ones are left out).

Parameters ​

chart ​

D3PChart

Returns ​

D3PPieSlice[]


tagDirty() ​

ts
tagDirty(chart?): void;

Defined in: core/renderers/base.ts:276

Schedule a redraw on one chart (or all attached charts).

Parameters ​

chart? ​

D3PChart

Returns ​

void

Inherited from ​

D3PSeriesRenderer.tagDirty


tagDirtyWithTransition() ​

ts
tagDirtyWithTransition(chart?): void;

Defined in: core/renderers/base.ts:272

Asks to draw again, with a transition: on one chart, or on all of them.

Parameters ​

chart? ​

D3PChart

Returns ​

void

Inherited from ​

D3PSeriesRenderer.tagDirtyWithTransition

Properties ​

axes ​

ts
readonly axes: D3PAxisFilter | undefined;

Defined in: core/renderers/base.ts:109

The axes the renderer is restricted to (objects or names), if any.

Inherited from ​

D3PSeriesRenderer.axes


bus ​

ts
readonly bus: D3PBus;

Defined in: core/object.ts:27

The bus the object uses for its events.

Inherited from ​

D3PSeriesRenderer.bus


chartData ​

ts
protected readonly chartData: Map<D3PChart, D3PRendererChartData<PieData>>;

Defined in: core/object.ts:66

What the object keeps for each chart it is attached to.

Inherited from ​

D3PSeriesRenderer.chartData


e ​

ts
readonly e: D3PEventTable<M & object>;

Defined in: core/object.ts:29

The events of the object, by name: destroyed for all, and its own (axis.e.scaleChanged).

Inherited from ​

D3PSeriesRenderer.e


id ​

ts
readonly id: number = ++D3PSeriesRenderer.counter;

Defined in: core/renderers/base.ts:105

A number that identifies the renderer: 1 for the first one created.

Inherited from ​

D3PSeriesRenderer.id


isDestroying ​

ts
isDestroying: boolean = false;

Defined in: core/object.ts:31

Set when destroy starts: the object is not drawn after that.

Inherited from ​

D3PSeriesRenderer.isDestroying


name ​

ts
readonly name: string;

Defined in: core/renderers/base.ts:107

The name of the renderer: the series name unless given.

Inherited from ​

D3PSeriesRenderer.name


propsHandle ​

ts
protected readonly propsHandle: D3PPropsHandle<D3PPieProps & object>;

Defined in: core/renderers/base.ts:117

The props and their change hooks.

Inherited from ​

D3PSeriesRenderer.propsHandle


requiredColumns ​

ts
protected readonly requiredColumns: readonly string[] = [];

Defined in: core/renderers/base.ts:115

Columns the series must have (['open', 'high', 'low', 'close']); checked when attaching.

Inherited from ​

D3PSeriesRenderer.requiredColumns


subs ​

ts
protected readonly subs: D3PSubscriptions;

Defined in: core/object.ts:33

The subscriptions of the object, released when it is destroyed.

Inherited from ​

D3PSeriesRenderer.subs


system ​

ts
readonly system: string | undefined;

Defined in: core/renderers/base.ts:111

The name of the coordinate system the renderer draws in, if it was given one.

Inherited from ​

D3PSeriesRenderer.system


systemKinds ​

ts
protected readonly systemKinds: readonly ["polar"];

Defined in: core/renderers/pie.ts:93

Kinds of coordinate system the renderer can draw in (undefined: any).

Overrides ​

D3PSeriesRenderer.systemKinds