fl_chart library
A highly customizable Flutter chart library that supports Line Chart, Bar Chart, Pie Chart, Scatter Chart, and Radar Chart.
Classes
- AxisChartData
- This is the base class for axis base charts data that contains a FlGridData that holds data for showing grid lines, also we have minX, maxX, minY, maxY values we use them to determine how much is the scale of chart, and calculate x and y according to the scale. each child have to set it in their constructor.
- AxisTitles
- Holds data for showing each side titles (left, top, right, bottom)
- BackgroundBarChartRodData
- Holds values to draw a rod in rear of the main rod.
- BadgeWidgetsDelegate
- Positions the badge widgets on their respective sections.
- BarAreaData
- Holds data for filling an area (above or below) of the line with a color or gradient.
- BarAreaSpotsLine
- Holds data for drawing line on the spots under the BarAreaData.
- BarChart
- Renders a bar chart as a widget, using provided BarChartData.
- BarChartData
- BarChart needs this class to render itself.
- BarChartDataTween
- It lerps a BarChartData to another BarChartData (handles animation for updating values)
- BarChartGroupData
- Represents a group of rods (or bars) inside the BarChart.
- BarChartRodData
- Holds data about rendering each rod (or bar) in the BarChart.
- BarChartRodStackItem
- A colored section of Stacked Chart rod item
- BarTooltipItem
- Holds data needed for showing custom tooltip content.
- BarTouchData
- Holds data to handle touch events, and touch responses in the BarChart.
- BarTouchedSpot
- It gives you information about the touched spot.
- BarTouchResponse
- Holds information about touch response in the BarChart.
- BarTouchTooltipData
- Holds representation data for showing tooltip popup on top of rods.
- BaseChartData
-
This class holds all data needed for
BaseChartPainter
. - BaseTouchResponse
- This class holds the touch response details of charts.
- BetweenBarsData
- Holds data about filling below or above space of the bar line,
- ExtraLinesData
- Draws some straight horizontal or vertical lines in the LineChart
- FlBorderData
- Holds data to drawing border around the chart.
- FlClipData
- Holds data to clipping chart around its borders.
- FlDotCirclePainter
- This class is an implementation of a FlDotPainter that draws a circled shape
- FlDotCrossPainter
- This class is an implementation of a FlDotPainter that draws a cross (X mark) shape
- FlDotData
- This class holds data about drawing spot dots on the drawing bar line.
- FlDotPainter
- This class contains the interface that all DotPainters should conform to.
- FlDotSquarePainter
- This class is an implementation of a FlDotPainter that draws a squared shape
- FlGridData
- Responsible to hold grid data,
- FlLine
- Defines style of a line.
- FlLineLabel
- Shows a text label
- FlLongPressEnd
- When a pointer stops contacting the screen after a long press gesture was detected. Also reports the position where the pointer stopped contacting the screen.
- FlLongPressMoveUpdate
- When a pointer is moving after being held in contact at the same location for a long period of time. Reports the new position and its offset from the original down position.
- FlLongPressStart
- Called When a pointer has remained in contact with the screen at the same location for a long period of time.
- FlPanCancelEvent
- When the pointer that previously triggered a FlPanStartEvent did not complete. Inspired from GestureDragCancelCallback
- FlPanDownEvent
- When a pointer has contacted the screen and might begin to move
- FlPanEndEvent
- When a pointer that was previously in contact with the screen and moving is no longer in contact with the screen.
- FlPanStartEvent
- When a pointer has contacted the screen and has begun to move.
- FlPanUpdateEvent
- When a pointer that is in contact with the screen and moving has moved again.
- FlPointerEnterEvent
- The pointer has moved with respect to the device while the pointer is or is not in contact with the device, and it has entered our chart.
- FlPointerExitEvent
- The pointer has moved with respect to the device while the pointer is or is not in contact with the device, and exited our chart.
- FlPointerHoverEvent
- The pointer has moved with respect to the device while the pointer is not in contact with the device.
- FlSpot
- Represents a conceptual position in cartesian (axis based) space.
- FlTapCancelEvent
- When the pointer that previously triggered a FlTapDownEvent will not end up causing a tap. Inspired from GestureTapCancelCallback
- FlTapDownEvent
- When a pointer that might cause a tap has contacted the screen.
- FlTapUpEvent
- When a pointer that will trigger a tap has stopped contacting the screen.
- FlTitlesData
- Holds data for showing titles on each side of charts.
-
FlTouchData<
R extends BaseTouchResponse> - Holds data to handle touch events, and touch responses in abstract way.
- FlTouchEvent
- Parent class for several kind of touch/pointer events (like tap, panMode, longPressStart, ...)
- HorizontalLine
- Holds data for drawing extra horizontal lines.
- HorizontalLineLabel
- Draws a title on the HorizontalLine
- HorizontalRangeAnnotation
- Defines an annotation region in y (vertical) axis.
- LineBarSpot
- Represent a targeted spot inside a line bar.
- LineChart
- Renders a line chart as a widget, using provided LineChartData.
- LineChartBarData
- Holds data for drawing each individual line in the LineChart
- LineChartData
- LineChart needs this class to render itself.
- LineChartDataTween
- It lerps a LineChartData to another LineChartData (handles animation for updating values)
- LineChartStepData
-
Holds data for representing a Step Line Chart, and works only if
LineChartBarData.isStepChart
is true. - LineTooltipItem
- Holds data of showing each row item in the tooltip popup.
- LineTouchData
- Holds data to handle touch events, and touch responses in the LineChart.
- LineTouchResponse
- Holds information about touch response in the LineChart.
- LineTouchTooltipData
- Holds representation data for showing tooltip popup on top of spots.
- PieChart
- Renders a pie chart as a widget, using provided PieChartData.
- PieChartData
- PieChart needs this class to render itself.
- PieChartDataTween
- It lerps a PieChartData to another PieChartData (handles animation for updating values)
- PieChartSectionData
- Holds data related to drawing each PieChart section.
- PieTouchData
- Holds data to handle touch events, and touch responses in the PieChart.
- PieTouchedSection
- PieTouchResponse
- Holds information about touch response in the PieChart.
- RadarChart
- Renders a radar chart as a widget, using provided RadarChartData.
- RadarChartData
- RadarChart needs this class to render itself.
- RadarChartDataTween
- It lerps a RadarChartData to another RadarChartData (handles animation for updating values)
- RadarChartTitle
- RadarDataSet
- the data values for drawing RadarChart sections
- RadarEntry
- holds the data about each entry or point in RadarChart
- RadarTouchData
- Holds data to handle touch events, and touch responses in the RadarChart.
- RadarTouchedSpot
- It gives you information about the touched spot.
- RadarTouchResponse
- Holds information about touch response in the RadarTouchResponse.
- RangeAnnotations
- Holds data for rendering horizontal and vertical range annotations.
- ScatterChart
- Renders a pie chart as a widget, using provided ScatterChartData.
- ScatterChartData
- ScatterChart needs this class to render itself.
- ScatterChartDataTween
- It lerps a ScatterChartData to another ScatterChartData (handles animation for updating values)
- ScatterLabelSettings
- Defines information about the labels in the ScatterChart
- ScatterSpot
- Defines information about a spot in the ScatterChart
- ScatterTooltipItem
- Holds data of showing each item in the tooltip popup.
- ScatterTouchData
- Holds data to handle touch events, and touch responses in the ScatterChart.
- ScatterTouchedSpot
- Holds the touched spot data
- ScatterTouchResponse
- Holds information about touch response in the ScatterChart.
- ScatterTouchTooltipData
- Holds representation data for showing tooltip popup on top of spots.
- ShowingTooltipIndicators
- Holds data for showing tooltips over a line
- SideTitleFitInsideData
- Force child widget to be positioned inside its corresponding axis bounding box
- SideTitles
- Holds data for showing label values on axis numbers
- SideTitleWidget
- Wraps a child widget and applies some default behaviours
- SizedPicture
- Holds data for showing a vector image inside the chart.
- TitleMeta
- Contains meta information about the drawing title.
- TouchedSpot
- holds information about touched spot on the axis based charts.
- TouchedSpotIndicatorData
- details of showing indicator when touch happened on LineChart indicatorBelowLine we draw a vertical line below of the touched spot touchedSpotDotData we draw a larger dot on the touched spot to bold it
- TouchLineBarSpot
- A LineBarSpot that holds information about the event that selected it
- VerticalLine
- Holds data for drawing extra vertical lines.
- VerticalLineLabel
- Draws a title on the VerticalLine
- VerticalRangeAnnotation
- Defines an annotation region in x (horizontal) axis.
Enums
- AxisSide
- Represents a side of the chart
- BarChartAlignment
-
defines arrangement of
barGroups
, check MainAxisAlignment for more details. - FLHorizontalAlignment
- Controls an element horizontal alignment to given point.
- LabelDirection
- RadarShape
- TooltipDirection
- Controls showing tooltip on top or bottom.
Functions
-
defaultBarTooltipColor(
BarChartGroupData group) → Color - Default implementation for BarTouchTooltipData.getTooltipColor.
-
defaultBarTooltipItem(
BarChartGroupData group, int groupIndex, BarChartRodData rod, int rodIndex) → BarTooltipItem? - Default implementation for BarTouchTooltipData.getTooltipItem.
-
defaultGetTitle(
double value, TitleMeta meta) → Widget - The default SideTitles.getTitlesWidget function.
-
defaultGetTouchLineEnd(
LineChartBarData barData, int spotIndex) → double - By default line ends at the touched point.
-
defaultGetTouchLineStart(
LineChartBarData barData, int spotIndex) → double - By default line starts from the bottom of the chart.
-
defaultGridLine(
double value) → FlLine - Returns a grey line for all values.
-
defaultLineTooltipColor(
LineBarSpot touchedSpot) → Color - Default implementation for LineTouchTooltipData.getTooltipColor.
-
defaultLineTooltipItem(
List< LineBarSpot> touchedSpots) → List<LineTooltipItem> - Default implementation for LineTouchTooltipData.getTooltipItems.
-
defaultScatterTooltipColor(
ScatterSpot touchedSpot) → Color - Default implementation for ScatterTouchTooltipData.getTooltipItems.
-
defaultScatterTooltipItem(
ScatterSpot touchedSpot) → ScatterTooltipItem? - Default implementation for ScatterTouchTooltipData.getTooltipItems.
-
defaultTouchedIndicators(
LineChartBarData barData, List< int> indicators) → List<TouchedSpotIndicatorData> - Default presentation of touched indicators.
-
getDefaultLabelFunction(
int spotIndex, ScatterSpot spot) → String - It gives you the default label of the spot.
-
getDefaultLabelTextStyleFunction(
int spotIndex, ScatterSpot spot) → TextStyle? - It gives you the default text style of the label for a spot.
-
showAllDots(
FlSpot spot, LineChartBarData barData) → bool - Shows all dots on spots.
-
showAllGrids(
double value) → bool - Shows all lines.
-
showAllSpotsBelowLine(
FlSpot spot) → bool - Shows all spot lines.
Typedefs
-
BaseTouchCallback<
R extends BaseTouchResponse> = void Function(FlTouchEvent, R?) - Chart's touch callback.
- CalculateTouchDistance = double Function(Offset touchPoint, Offset spotPixelCoordinates)
- Used to calculate the distance between coordinates of a touch event and a spot
- CheckToShowDot = bool Function(FlSpot spot, LineChartBarData barData)
- It determines showing or hiding FlDotData on the spots.
- CheckToShowGrid = bool Function(double value)
- Determines showing or hiding specified line.
- CheckToShowSpotLine = bool Function(FlSpot spot)
- It used for determine showing or hiding BarAreaSpotsLines
- GetBarTooltipColor = Color Function(BarChartGroupData group)
- / Provides a Color to show different background color for each rod
- GetBarTooltipItem = BarTooltipItem? Function(BarChartGroupData group, int groupIndex, BarChartRodData rod, int rodIndex)
- Provides a BarTooltipItem for showing content inside the BarTouchTooltipData.
- GetDotColorCallback = Color Function(FlSpot, double, LineChartBarData)
- The callback passed to get the color of a FlSpot
- GetDotPainterCallback = FlDotPainter Function(FlSpot, double, LineChartBarData, int)
- The callback passed to get the painter of a FlSpot
- GetDrawingGridLine = FlLine Function(double value)
- Determines the appearance of specified line.
- GetLabelFunction = String Function(int spotIndex, ScatterSpot spot)
- It gives you the index value as well as the spot and returns the label of the spot.
- GetLabelTextStyleFunction = TextStyle? Function(int spotIndex, ScatterSpot spot)
- It gives you the index value as well as the spot and gets the text style of the label.
- GetLineTooltipColor = Color Function(LineBarSpot touchedSpot)
- / Provides a Color to show different background color for each touched spot
-
GetLineTooltipItems
= List<
LineTooltipItem?> Function(List<LineBarSpot> touchedSpots) - Provides a LineTooltipItem for showing content inside the LineTouchTooltipData.
- GetScatterTooltipColor = Color Function(ScatterSpot touchedSpot)
- Provides a Color to show different background color inside the ScatterTouchTooltipData.
- GetScatterTooltipItems = ScatterTooltipItem? Function(ScatterSpot touchedSpot)
- Provides a ScatterTooltipItem for showing content inside the ScatterTouchTooltipData.
- GetTitleByIndexFunction = RadarChartTitle Function(int index, double angle)
- GetTitleWidgetFunction = Widget Function(double value, TitleMeta meta)
- It gives you the axis value and gets a String value based on it.
-
GetTouchedSpotIndicator
= List<
TouchedSpotIndicatorData?> Function(LineChartBarData barData, List<int> spotIndexes) - Used for showing touch indicators (a thicker line and larger dot on the targeted spot).
- GetTouchLineY = double Function(LineChartBarData barData, int spotIndex)
- Used for determine the touch indicator line's starting/end point.
-
MouseCursorResolver<
R extends BaseTouchResponse> = MouseCursor Function(FlTouchEvent, R?) -
It gives you the happened FlTouchEvent and existed
R
data at the event's location, then you should provide a MouseCursor to change the cursor at the event's location. For example you can pass the SystemMouseCursors.click to change the mouse cursor to click. - ScatterTouchCallback = void Function(ScatterTouchResponse)
- ScatterChart's touch callback.