draw method
Implementation
@override
void draw(Canvas canvas, Size size, ChartContext context) {
final anim = context.animationValue;
final sizeRange = _globalSizeRange(context.config.series);
for (var s = 0; s < context.config.series.length; s++) {
final series = context.config.series[s];
final color = series.style.color ?? context.theme.seriesColor(s);
for (final point in series.points) {
final y =
context.viewport.minY + (point.y - context.viewport.minY) * anim;
final offset = context.transformer.dataToCanvas(point.x, y);
final radius = _radiusFor(point, sizeRange);
final paint = context.paintCache.fill(
'bubble-$s-${point.x}-${point.y}',
color.withValues(alpha: series.style.opacity),
);
canvas.drawCircle(offset, radius, paint);
if (series.style.strokeWidth > 0) {
canvas.drawCircle(
offset,
radius,
context.paintCache.get(
key: 'bubble-stroke-$s',
color: color.withValues(alpha: 0.4),
strokeWidth: series.style.strokeWidth,
),
);
}
}
}
}