@Input() rawData!: ChartPoint[];
@Input() chartKey = '';
@Input() decimals = DECIMAL;
+ @Input() axisDecimals?: number = 1;
@Input() customOptions?: Partial<AreaChartOptions>;
@Input() legendEnabled = true;
@Input() subHeading = '';
ticks: {
// Only return numeric part of the formatted string (exclude units)
formatter: (tick: number | Date): string => {
- const raw = this.formatValueForChart(tick, labels, divisor);
+ const raw = this.formatValueForChart(tick, labels, divisor, this.axisDecimals);
const num = parseFloat(raw);
- return num.toString();
+ return Number.isNaN(num) ? '' : num.toString();
}
}
}
enabled: true,
showTotal: false,
valueFormatter: (value: number): string =>
- (this.formatValueForChart(value, labels, divisor) || value).toString(),
+ (this.formatValueForChart(value, labels, divisor, this.decimals) || value).toString(),
customHTML: (data, defaultHTML) => this.formatChartTooltip(defaultHTML, data)
},
points: {
}
// Uses number formatter service to convert chart value based on unit and divisor.
- private formatValueForChart(input: number | Date, labels: string[], divisor: number): string {
+ private formatValueForChart(
+ input: number | Date,
+ labels: string[],
+ divisor: number,
+ decimals: number
+ ): string {
if (typeof input !== 'number') return '';
return this.numberFormatter.formatFromTo(
input,
this.chartDisplayUnit,
divisor,
labels,
- this.decimals
+ decimals
);
}
}
chartTitle="Latency"
[chartKey]="performanceTypes?.Latency"
[dataUnit]="metricUnitMap?.latency"
- [rawData]="chartDataSignal()?.latency">
+ [rawData]="chartDataSignal()?.latency"
+ [decimals]="2">
</cd-area-chart>
</div>
<div cdsCol
chartTitle="Throughput"
[chartKey]="performanceTypes?.Throughput"
[dataUnit]="metricUnitMap?.throughput"
- [rawData]="chartDataSignal()?.throughput">
+ [rawData]="chartDataSignal()?.throughput"
+ [decimals]="2">
</cd-area-chart>
</div>
</div>