LineChart API

LineChart 用于加载数据、流式传输样本、控制视口和更新外观的方法。

导入
import { LineChart } from "@sixtyfold/line";

使用上方所示的公开入口。仅类型导入不会保留在应用 JavaScript 中。

ChartOverlayError

当一个或多个声明式叠加源无法应用时报告的错误。

导入 @sixtyfold/line

class ChartOverlayError extends Error
成员定义描述
cause?Error | undefined导致图表覆盖错误的原因。
messagestring消息文本。
name"ChartOverlayError"此图表覆盖层错误的显示名称。
sourcesreadonly string[]图表覆盖层错误的来源。
stack?string | undefined调用栈文本。

ChartRendererError

当图表渲染器在启动或后续使用中失败时报告的错误。

导入 @sixtyfold/line

class ChartRendererError extends Error
成员定义描述
cause?Error | undefined图表渲染器错误的原因。
messagestring消息文本。
name"ChartRendererError"此图表渲染器错误的显示名称。
phaseRendererFailurePhase图表渲染器错误的阶段。
stack?string | undefined堆栈文本。

LineChart

用于折线、阶梯、范围、散点、柱状和堆叠面积序列的命令式浏览器图表。

导入 @sixtyfold/line

class LineChart
成员定义描述
addVector(timestamp: number, values: number[]) => void向流缓冲区为每个序列追加一个时间戳和一个值。
addVectors(timestamps: Float64Array, valuesBySeries: Float64Array[]) => void将对齐的时间戳和序列列追加到流缓冲区。
batch(fn: () => void) => void将同步的外观与视口更改合并为一次更新。嵌套批处理会合并;数据加载仍立即执行。
destroy() => void释放图表及其所属资源。
getAppearance() => DeepReadonly<LineAppearanceOptions>返回可变外观子集的只读快照。
getOptions() => DeepReadonly<LineChartOptions>返回所有选项(构造 + 当前外观)的完整规范化只读快照。
getRenderMode() => "worker" | "main"返回已解析的渲染模式(“Worker”或“主线程”)。
getSeriesVisibility() => boolean[]返回系列可见性。
getViewport() => Viewport返回当前视口的快照。
initialize() => Promise<void>等待渲染器准备好接收数据和运行时命令。构建时初始化看门狗在 Worker 或主线程回退未在配置的间隔内就绪时会以 ChartRendererError 拒绝此 Promise。应用应在安装首个数据集之前 await 此方法。
initStreaming(seriesCount: number, maxPoints?: number) => void为配置的系列数量分配固定容量的流式缓冲区。
reset(options?: { animated?: boolean; }) => void将视口重置为完整的数据范围。
resize() => void将渲染器与画布大小同步。
setData(data: TimeSeriesData, options?: LineDataUpdateOptions) => number加载一个序列,并将其 typed array 的所有权交给渲染器。Worker 模式会转移并分离缓冲区;主线程模式下,渲染器保留数组引用。返回数据代数。
setKeyboardAnnouncements(messages: false | KeyboardAnnouncementMessages) => void在运行时替换或禁用本地化键盘操作提示。现有的待处理提示将被取消。
setLabels(labels: ChartLabels) => void在运行时更新图表标签。合并到现有标签(与 updateAppearance 语义相同)。当标签格式错误或稀疏/非对象的 custom 条目时抛出:TypeError。
setLODOptions(patch: LineLODOptions) => void对模式、密度、重基比率或网格量化应用部分更新,而无需重新创建图表或重建其层次结构。
setMultiSeriesData(data: MultiSeriesData, options?: LineDataUpdateOptions) => number加载共享 X 列的对齐序列,并将其 typed array 的所有权交给渲染器。Worker 模式会转移并分离缓冲区;主线程模式下,渲染器保留数组引用。返回数据代数。
setOverlay(overlay: OverlayOptions) => Promise<void>在运行时更新声明式覆盖原语。有效的原语和成功解码的图像即使在其他图像失败时也会被安装。如果所有请求项都失败,则保留先前渲染的覆盖并继续安装。分辨率和渲染器传递失败会以 ChartOverlayError 拒绝;当应用也需要异步通知时请注册 setOverlayErrorCallback。在懒惰渲染器尚未就绪前调用时,此 promise 包含就绪等待。被取代的更新和图表销毁属于常规取消并会解析但不安装。
setOverlayErrorCallback(callback: OverlayErrorCallback | null) => void注册一个回调以处理非致命的覆盖解析或传递失败。成功的覆盖项仍将被安装。匹配的 setOverlay promise 也会以相同错误拒绝。
setRendererErrorCallback(callback: RendererErrorCallback | null) => void注册一次性渲染器故障回调。初始化或运行时故障会在拆解前调用一次。如无回调,错误将使用 console.error。传入 null 可取消该回调;destroy 的调用不会触发它。
setSeriesVisibilityCallback(callback: ((event: SeriesVisibilityChangeEvent) => void) | null) => void接收通过 API 或交互图例所做的可见性更改。
setSeriesVisible(index: number, visible: boolean) => void按索引显示或隐藏某一系列。
setStatsCallback(callback: ((stats: LineChartStats) => void) | null, options?: LineChartStatsOptions) => void启用渲染器统计并接收节流快照。传入 null 以禁用它们。
setViewport(viewport: Partial<Viewport>, options?: { animated?: boolean; }) => void以编程方式设置视口范围。只需提供 xMin 和/或 xMax;省略字段将保留当前值。
setVisibleSeries(indices: number[]) => void仅显示列出的系列索引。
toggleSeriesVisibility(index: number) => void切换系列可见性。
updateAppearance(patch: DeepPartial<LineAppearanceOptions>) => void运行时修补可变外观选项。 抛出:TypeError,用于格式错误的标签或稀疏/非对象的 custom 条目。
updateSeriesAppearance(index: number, patch: DeepPartial<SeriesAppearanceOptions>) => void通过索引修补单个系列的视觉配置。