onCreateRenderer property

ChartSeriesRendererFactory<T, D>? onCreateRenderer

Used to create the renderer for custom series.

This is applicable only when the custom series is defined in the sample and for built-in series types, it is not applicable.

Renderer created in this will hold the series state and this should be created for each series. onCreateRenderer callback function should return the renderer class and should not return null.

Series state will be created only once per series and will not be created again when we update the series.

Defaults to null.

Widget build(BuildContext context) {
  return SfCartesianChart(
    series: <LineSeries<SalesData, num>>[
      LineSeries<SalesData, num>(
        onCreateRenderer:(ChartSeries<dynamic, dynamic> series){
          return CustomLinerSeriesRenderer();
class CustomLinerSeriesRenderer extends LineSeriesRenderer {
    final ColumnSeries<SalesData, num> series;

   int get currentSegmentIndex => super.currentSegmentIndex!;

   Paint getFillPaint() {
     final Paint customerFillPaint = Paint();
     customerFillPaint.color = series.dataSource[currentSegmentIndex].y > 30
       ? Colors.red
       : Colors.green;
     customerFillPaint.style = PaintingStyle.fill;
     return customerFillPaint;

   void onPaint(Canvas canvas) {


final ChartSeriesRendererFactory<T, D>? onCreateRenderer;