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在刷新已排队的标量样本之前,验证已对齐的 Float64Array 时间戳和序列列是否为有限时间戳。验证失败时会保留队列和调用者缓冲区;在有效的 Worker 模式追加中会传输并分离缓冲区。抛出:若列格式错误或任何时间戳为非有限值,则抛出 Error。
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按索引修补单个系列的视觉配置。