agentjs-core
Version:
A comprehensive agent-based modeling framework with built-in p5.js visualization
68 lines • 2.25 kB
TypeScript
import { Chart, ChartType, ChartOptions } from 'chart.js';
import { EventEmitter } from 'eventemitter3';
import type { DataCollector } from './DataCollector';
import type { StatisticsEngine } from './StatisticsEngine';
export interface ChartConfig {
type: ChartType;
title: string;
container: HTMLCanvasElement;
dataSeries: string[];
updateInterval: number;
maxDataPoints: number;
colors: string[];
options?: Partial<ChartOptions>;
}
export interface ChartTheme {
backgroundColor: string;
gridColor: string;
textColor: string;
colors: string[];
}
export declare class ChartVisualizer extends EventEmitter {
private dataCollector;
private statisticsEngine;
private charts;
private updateIntervals;
private themes;
constructor(dataCollector: DataCollector, statisticsEngine?: StatisticsEngine);
private initializeThemes;
private setupEventListeners;
createTimeSeriesChart(config: Partial<ChartConfig> & {
id: string;
}): Chart;
createHistogramChart(config: Partial<ChartConfig> & {
id: string;
seriesName: string;
}): Chart;
createScatterPlot(config: Partial<ChartConfig> & {
id: string;
xSeries: string;
ySeries: string;
}): Chart;
createNetworkMetricsChart(config: Partial<ChartConfig> & {
id: string;
}): Chart;
createStatisticsDashboard(containerId: string, _theme?: string): HTMLElement;
private buildTimeSeriesConfig;
private buildHistogramConfig;
private buildScatterConfig;
private buildNetworkMetricsConfig;
private updateChart;
private updateTimeSeriesChart;
private updateHistogramChart;
private updateScatterChart;
private updateNetworkChart;
private updateAllCharts;
private updateStatisticsCharts;
setTheme(chartId: string, themeName: string): void;
destroyChart(chartId: string): void;
destroyAllCharts(): void;
exportChart(chartId: string, format?: 'png' | 'jpeg' | 'pdf'): string | null;
getChartSummary(): {
totalCharts: number;
activeCharts: string[];
availableThemes: string[];
availableDataSeries: string[];
};
}
//# sourceMappingURL=ChartVisualizer.d.ts.map