import { KalmanFilterOptions } from './../utils/KalmanFilter'; import { Component } from '../component/Component'; import { TextOptions } from '../component/Text'; import { Stage } from '../Stage'; import { BaseChart, BaseChartOptions, KeyGenerate } from './BaseChart'; import { ScaleLinear } from 'd3-scale'; import { Ani } from '../ani/Ani'; export interface BarChartOptions extends BaseChartOptions { domain?: (data: any[]) => [number, number]; dy?: number; barFontSizeScale?: number; itemCount?: number; barPadding?: number; barGap?: number; clipBar?: boolean; barInfoFormat?: KeyGenerate; showDateLabel?: boolean; dateLabelOptions?: Omit; showRankLabel?: boolean; barInfoOptions?: Omit; swapDurationMS?: number; kalmanFilterOptions?: KalmanFilterOptions; } export interface BarOptions { id: string; data: any; value: number; pos: { x: number; y: number; }; shape: { width: number; height: number; }; color: string; radius: number; alpha: number; image?: string; isUp?: boolean; } export declare class BarChart extends BaseChart { dateLabelOptions: Omit; barFontSizeScale: number; showRankLabel: boolean; private readonly rankPadding; rankLabelPlaceholder: number; reduceID: boolean; dy: number; barInfoOptions: Omit; domain: (data: any) => [number, number]; totalHistoryIndex: Map; clipBar: boolean; get maxRankLabelWidth(): number; constructor(options?: BarChartOptions); itemCount: number; barPadding: number; barGap: number; swapDurationMS: number; rankOffset: number; lastValue: Map; labelPlaceholder: number; valuePlaceholder: number; showDateLabel: boolean; barInfoFormat: (id: any, meta: Map, data: Map) => string; IDList: string[]; setup(stage: Stage, ani: Ani): Promise; private getConvolveKernel; private getTotalHistoryIndex; /** * 获得所有能显示在图表上的数据 ID 列表。 * 这个列表可以用于筛去无用数据。 */ private setShowingIDList; get maxValueLabelWidth(): number; get totalRankPlaceHolder(): number; get maxLabelWidth(): number; getComponent(sec: number): Component; protected getScalesBySec(sec: number): { x: ScaleLinear; y: ScaleLinear; }; private appendRankLabels; private getRankLabelOptions; getScaleX(currentData: any[]): ScaleLinear; getDateLabelText(sec: number): string; private get barHeight(); getTotalHistoryByID(id: any): any; private getBarOptions; getBarIdx(hisIndex: number[], cFrame: number): number; /** * 判断当前帧,柱状条是否在上升 * * @param cFrame 当前帧 * @param hisIndex 历史排序数据 * @returns 是否在上升 */ private barIsUp; private getBarX; private getBarY; private getBarComponent; private getLabelTextOptions; }