# defineSeries

Import from `@pibbl/core/viz`. Describes a dataset without acquiring observers or resources.

`data` accepts a readonly array or signal; `x`, `y`, and optional `defined` describe eligibility without invoking renderers. No subscription or scan occurs when constructing a descriptor or query.

## API details from source

<span id="api-defineSeries"></span>

### defineSeries

Creates a data descriptor without observing or copying its dataset.

```ts
defineSeries: <D>(options: HoverSeries<D>) => HoverSeries<D>
```

Related API: [defineSeries](/reference/functions/define-series/), [HoverSeries](/reference/functions/define-series/).

#### Parameters

- **`options`** — Data, accessors, and scales describing a hoverable series. See
[HoverSeries](/reference/functions/define-series/) .

#### Returns

The series descriptor with its datum type preserved. See [HoverSeries](/reference/functions/define-series/).

#### See also

[HoverSeries](/reference/functions/define-series/)

[View source — packages/core/src/features/viz/lib/hover-queries.ts:19](/source/packages/core/src/features/viz/lib/hover-queries-ts/#L19)

<span id="api-HoverSeries"></span>

### HoverSeries

Data and coordinate accessors describing one series available to hover queries.

```ts
interface HoverSeries<D>
```

Related API: [HoverSeries](/reference/functions/define-series/).

#### See also

[SignalValue](/reference/types/signal-inputs/#signalvalue)

[PointAccessor](/reference/components/point-series/)

[HoverSeriesMap](/reference/functions/define-series/)

[ClosestPointHit](/reference/functions/closest-point/)

[ClosestXOptions](/reference/functions/closest-x/)

[View source — packages/core/src/features/viz/lib/hover-types.ts:59](/source/packages/core/src/features/viz/lib/hover-types-ts/#L59)

#### Properties and methods

<span id="api-HoverSeries-data"></span>
<details>
<summary>data</summary>


```ts
readonly data: SignalValue<readonly D[]>
```

Related API: [SignalValue](/reference/types/signal-inputs/#signalvalue).

Application data supplied to the component or reported by the event. See SignalValue.

[View source — packages/core/src/features/viz/lib/hover-types.ts:63](/source/packages/core/src/features/viz/lib/hover-types-ts/#L63)

</details>

<span id="api-HoverSeries-x"></span>
<details>
<summary>x</summary>


```ts
readonly x: PointAccessor<D>
```

Related API: [PointAccessor](/reference/components/point-series/).

Property key or callback extracting the horizontal domain coordinate. See PointAccessor.

[View source — packages/core/src/features/viz/lib/hover-types.ts:65](/source/packages/core/src/features/viz/lib/hover-types-ts/#L65)

</details>

<span id="api-HoverSeries-y"></span>
<details>
<summary>y</summary>


```ts
readonly y: PointAccessor<D>
```

Related API: [PointAccessor](/reference/components/point-series/).

Property key or callback extracting the vertical domain coordinate. See PointAccessor.

[View source — packages/core/src/features/viz/lib/hover-types.ts:67](/source/packages/core/src/features/viz/lib/hover-types-ts/#L67)

</details>

<span id="api-HoverSeries-defined"></span>
<details>
<summary>defined (optional)</summary>


```ts
readonly defined?: ((datum: D, index: number, data: readonly D[]) => boolean) | undefined
```

Returns whether a datum contributes drawable or queryable coordinates. See HoverSeries
.

##### Parameters

- **`datum`** — Datum to test.

- **`index`** — Zero-based index in the source data.

- **`data`** — Complete source data array.

##### Returns

Whether this datum should participate in the series or query.

[View source — packages/core/src/features/viz/lib/hover-types.ts:76](/source/packages/core/src/features/viz/lib/hover-types-ts/#L76)

</details>

<span id="api-HoverSeriesMap"></span>

### HoverSeriesMap

Named series participating in a multi-series hover query.

```ts
type HoverSeriesMap = Readonly<Record<string, HoverSeries<any>>>
```

Related API: [HoverSeriesMap](/reference/functions/define-series/), [HoverSeries](/reference/functions/define-series/).

#### See also

[HoverSeries](/reference/functions/define-series/)

[ClosestPointHit](/reference/functions/closest-point/)

[ClosestPointOptions](/reference/functions/closest-point/)

[View source — packages/core/src/features/viz/lib/hover-types.ts:131](/source/packages/core/src/features/viz/lib/hover-types-ts/#L131)

## Implementation guidance for agents

Read the [Data visualization companion](/agents/topics/visualization/) for ownership, adaptation, failure modes, and verification. [Agent start](/agents/) provides the version-selection workflow.

## Complete minimal examples

- [Hover query helpers](/minimal-examples/viz/hover-queries/): Run closest-point, closest-x, and interpolated-x queries against a scale context. [Plain source](/minimal/viz/hover-queries.ts)
## Documentation version

Documentation built with @pibbl/core 0.0.2, revision 272a94a. ALPHA — NOT FOR PRODUCTION USE.
