anchor.diff:    }
   }
   
  -/***** DotData *****/
  -typedef CheckToShowDot = bool Function(FlSpot spot);
  -
  -bool showAllDots(FlSpot spot) {
  +/// It used for determine showing or hiding [BarAreaSpotsLine]s
  +///
  +/// It gives you the checking spot, and you have to decide to
  +/// show or not show the line on the provided spot.
  +typedef CheckToShowSpotLine = bool Function(FlSpot spot);
  +
  +/// Shows all spot lines.
  +bool showAllSpotsBelowLine(FlSpot spot) {
     return true;
   }
   
  -/// This class holds data about drawing spot dots on the drawing bar line.
  +/// Holds data for showing dots on the bar line.
   class FlDotData {
     final bool show;
     final Color dotColor;
  
positive.code:   }
  }
  
  /***** LineChartBarData *****/
  
  /// This class holds visualisation data about the bar line
  /// use [isCurved] to set the bar line curve or sharp on connections spot.
  class LineChartBarData {
    final List<FlSpot> spots;
  
    final bool show;
  
    /// if one color provided, solid color will apply,
    /// but if more than one color provided, gradient will apply.
    final List<Color> colors;
  
    /// if more than one color provided colorStops will hold
    /// stop points of the gradient.
    final List<double> colorStops;
  
    /// if the gradient mode is enabled (if you have more than one color)
    /// [gradientFrom] and [gradientTo] is important otherwise they will be skipped.
    /// you can determine where the gradient should start and end,
    /// values are available between 0 to 1,
    /// Offset(0, 0) represent the top / left
    /// Offset(1, 1) represent the bottom / right
    final Offset gradientFrom;
    final Offset gradientTo;
  
    final double barWidth;
    final bool isCurved;
  
    /// if isCurved is true, this is important to us,
    /// this determines that how much we should curve the line
    /// on the spot connections.
    /// if it is 0.0, the lines draw with sharp corners.
    final double curveSmoothness;
  
    /// prevent overshooting when draw curve line on linear sequence spots
    /// check this [issue](https://github.com/imaNNeoFighT/fl_chart/issues/25)
    final bool preventCurveOverShooting;
  
    /// threshold for applying prevent overshooting algorithm
    final double preventCurveOvershootingThreshold;
  
    final bool isStrokeCapRound;
  
    /// to fill space below the bar line
    final BarAreaData belowBarData;
  
    /// to fill space above the bar line
    final BarAreaData aboveBarData;
  
    /// to show dot spots upon the line chart
    final FlDotData dotData;
  
    /// show indicators based on provided indexes
    final List<int> showingIndicators;
  
    final List<int> dashArray;
  
    const LineChartBarData({
      this.spots = const [],
      this.show = true,
  
negative.code:   }
  }
  
  /// Holds data for drawing line on the spots under the [BarAreaData].
  class BarAreaSpotsLine {
  
    /// Determines to show or hide all the lines.
    final bool show;
  
    /// Holds appearance of drawing line on the spots.
    final FlLine flLineStyle;
  
    /// Checks to show or hide lines on the spots.
    final CheckToShowSpotLine checkToShowSpotLine;
  
    /// If [show] is true, [LineChart] draws some lines on above or below the spots,
    /// you can customize the appearance of the lines using [flLineStyle]
    /// and you can decide to show or hide the lines on each spot using [checkToShowSpotLine].
    const BarAreaSpotsLine({
      this.show = false,
      this.flLineStyle = const FlLine(),
  