in src/EnhancedScatterChart.ts [1924:1972]
private static getBubbleRadius(
radiusData: EnhancedScatterChartRadiusData,
sizeRange: NumberRange,
viewport: IViewport
): number {
let actualSizeDataRange: EnhancedScatterDataRange = null,
bubblePixelAreaSizeRange: EnhancedScatterDataRange = null,
measureSize: DataViewValueColumn = radiusData.sizeMeasure;
if (!measureSize) {
return EnhancedScatterChart.BubbleRadius;
}
const minSize: number = sizeRange.min
? sizeRange.min
: EnhancedScatterChart.DefaultBubbleRadius;
const maxSize = sizeRange.max
? sizeRange.max
: EnhancedScatterChart.DefaultBubbleRadius;
const min: number = Math.min(minSize, EnhancedScatterChart.DefaultBubbleRadius),
max: number = Math.max(maxSize, EnhancedScatterChart.DefaultBubbleRadius);
actualSizeDataRange = {
minRange: min,
maxRange: max,
delta: max - min
};
bubblePixelAreaSizeRange = EnhancedScatterChart.getBubblePixelAreaSizeRange(
viewport,
EnhancedScatterChart.MinSizeRange,
EnhancedScatterChart.MaxSizeRange);
if (measureSize.values) {
const sizeValue: number = <number>measureSize.values[radiusData.index];
if (sizeValue != null) {
return EnhancedScatterChart.PROJECT_SIZE_TO_PIXELS(
sizeValue,
actualSizeDataRange,
bubblePixelAreaSizeRange) / EnhancedScatterChart.BubbleRadiusDivider;
}
}
return EnhancedScatterChart.BubbleRadius;
}