Shared TypeScript library for the Lightdash platform containing common types, utilities, and business logic for analytics workflows
Overall
score
72%
Evaluation — 72%
↑ 1.09xAgent success when using this tile
A utility module for configuring chart symbol visibility based on dataset characteristics. When visualizing data series with line or scatter charts, showing individual data point symbols can enhance readability for smaller datasets but create visual clutter for larger ones. This module implements an intelligent heuristic to automatically determine appropriate symbol configuration.
{ showSymbol: true, symbolSize: 4 } @test{ showSymbol: true, symbolSize: 4 } @test{ showSymbol: false, symbolSize: 0 } @test{ showSymbol: false, symbolSize: 0 } @test@generates
import { CartesianSeriesType } from '@lightdash/common';
/**
* Symbol configuration result
*/
export interface SymbolConfig {
showSymbol: boolean;
symbolSize: number;
}
/**
* Determines the appropriate symbol visibility and size for a chart series
* based on the number of data points and chart type.
*
* Symbols enhance readability for small datasets but create visual clutter
* for large datasets. This function implements a heuristic that shows symbols
* for line charts when there are 100 or fewer data points, and hides them
* for larger datasets. Bar charts never display symbols.
*
* @param dataPointCount - The number of data points in the series
* @param chartType - The type of chart series (from CartesianSeriesType enum)
* @returns Symbol configuration with visibility and size
*/
export function getSymbolConfig(
dataPointCount: number,
chartType: CartesianSeriesType
): SymbolConfig;Provides chart types and visualization utilities for Business Intelligence.
@satisfied-by
Install with Tessl CLI
npx tessl i tessl/npm-lightdash--commondocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20