From 267d9c1737043021673faca5ffefd295823c34f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20K=C3=B6pke?= Date: Wed, 27 Nov 2019 09:52:29 +0100 Subject: [PATCH 1/6] added axis titles (without formatting) --- .../samples/line_chart_sample4.dart | 15 ++- .../samples/line_chart_sample5.dart | 7 ++ .../base/base_chart/base_chart_data.dart | 60 +++++++++ lib/src/chart/line_chart/line_chart_data.dart | 6 + .../chart/line_chart/line_chart_painter.dart | 116 ++++++++++++++++++ 5 files changed, 202 insertions(+), 2 deletions(-) diff --git a/example/lib/line_chart/samples/line_chart_sample4.dart b/example/lib/line_chart/samples/line_chart_sample4.dart index e7b03b766..84c9efccb 100644 --- a/example/lib/line_chart/samples/line_chart_sample4.dart +++ b/example/lib/line_chart/samples/line_chart_sample4.dart @@ -5,6 +5,8 @@ class LineChartSample4 extends StatelessWidget { @override Widget build(BuildContext context) { const cutOffYValue = 5.0; + const dateTextStyle = TextStyle( + fontSize: 10, color: Colors.purple, fontWeight: FontWeight.bold); return SizedBox( width: 300, @@ -54,8 +56,8 @@ class LineChartSample4 extends StatelessWidget { titlesData: FlTitlesData( bottomTitles: SideTitles( showTitles: true, - textStyle: - TextStyle(fontSize: 10, color: Colors.purple, fontWeight: FontWeight.bold), + reservedSize: 14, + textStyle: dateTextStyle, getTitles: (value) { switch (value.toInt()) { case 0: @@ -93,6 +95,15 @@ class LineChartSample4 extends StatelessWidget { }, ), ), + axisTitleData: const FlAxisTitleData( + leftTitle: + AxisTitle(showTitle: true, titleText: 'Value', margin: 4), + bottomTitle: AxisTitle( + showTitle: true, + margin: 0, + titleText: '2019', + textStyle: dateTextStyle, + textAlign: TextAlign.right)), gridData: FlGridData( show: true, checkToShowHorizontalGrid: (double value) { diff --git a/example/lib/line_chart/samples/line_chart_sample5.dart b/example/lib/line_chart/samples/line_chart_sample5.dart index 27065ae07..f8ca1c5cb 100644 --- a/example/lib/line_chart/samples/line_chart_sample5.dart +++ b/example/lib/line_chart/samples/line_chart_sample5.dart @@ -89,6 +89,13 @@ class LineChartSample5 extends StatelessWidget { fontSize: 18, )), ), + axisTitleData: const FlAxisTitleData( + rightTitle: AxisTitle(showTitle: true, titleText: 'count'), + leftTitle: AxisTitle(showTitle: true, titleText: 'count'), + topTitle: AxisTitle( + showTitle: true, + titleText: 'Wall clock', + textAlign: TextAlign.left)), gridData: const FlGridData(show: false), borderData: FlBorderData( show: true, diff --git a/lib/src/chart/base/base_chart/base_chart_data.dart b/lib/src/chart/base/base_chart/base_chart_data.dart index b5ae63e99..22decc802 100644 --- a/lib/src/chart/base/base_chart/base_chart_data.dart +++ b/lib/src/chart/base/base_chart/base_chart_data.dart @@ -72,6 +72,66 @@ class FlTouchData { const FlTouchData(this.enabled, this.enableNormalTouch); } +///***** AxisTitleData *****/ + +/// This class holds data about the description for each axis of the chart. +class FlAxisTitleData { + final bool show; + + final AxisTitle leftTitle, topTitle, rightTitle, bottomTitle; + + const FlAxisTitleData({ + this.show = true, + this.leftTitle = const AxisTitle(reservedSize: 16), + this.topTitle = const AxisTitle(reservedSize: 16), + this.rightTitle = const AxisTitle(reservedSize: 16), + this.bottomTitle = const AxisTitle(reservedSize: 16), + }); + + static FlAxisTitleData lerp(FlAxisTitleData a, FlAxisTitleData b, double t) { + return FlAxisTitleData( + show: b.show, + leftTitle: AxisTitle.lerp(a.leftTitle, b.leftTitle, t), + rightTitle: AxisTitle.lerp(a.rightTitle, b.rightTitle, t), + bottomTitle: AxisTitle.lerp(a.bottomTitle, b.bottomTitle, t), + topTitle: AxisTitle.lerp(a.topTitle, b.topTitle, t), + ); + } +} + +/// specify each axis titles data +class AxisTitle { + final bool showTitle; + final double reservedSize; + final TextStyle textStyle; + final TextAlign textAlign; + final double margin; + final String titleText; + + const AxisTitle({ + this.showTitle = false, + this.titleText = '', + this.reservedSize = 14, + this.textStyle = const TextStyle( + color: Colors.black, + fontSize: 11, + ), + this.textAlign = TextAlign.center, + this.margin = 4, + }); + + static AxisTitle lerp(AxisTitle a, AxisTitle b, double t) { + return AxisTitle( + showTitle: b.showTitle, + titleText: b.titleText, + reservedSize: lerpDouble(a.reservedSize, b.reservedSize, t), + textStyle: TextStyle.lerp(a.textStyle, b.textStyle, t), + textAlign: b.textAlign, + margin: lerpDouble(a.margin, b.margin, t), + ); + } +} + /***** TitlesData *****/ /// we use this typedef to determine which titles diff --git a/lib/src/chart/line_chart/line_chart_data.dart b/lib/src/chart/line_chart/line_chart_data.dart index 881e3f12a..2ec5558ac 100644 --- a/lib/src/chart/line_chart/line_chart_data.dart +++ b/lib/src/chart/line_chart/line_chart_data.dart @@ -11,12 +11,14 @@ import 'package:flutter/material.dart'; /// This class holds data to draw the line chart /// List [LineChartBarData] the data to draw the bar lines independently, /// [FlTitlesData] to show the bottom and left titles +/// [FlAxisTitleData] to show a description of each axis /// [ExtraLinesData] to draw extra horizontal and vertical lines on the chart /// [LineTouchData] holds data to handling touch and interactions /// [showingTooltipIndicators] show the tooltip based on provided position(x), and list of [LineBarSpot] class LineChartData extends AxisChartData { final List lineBarsData; final FlTitlesData titlesData; + final FlAxisTitleData axisTitleData; final ExtraLinesData extraLinesData; final LineTouchData lineTouchData; final List>> showingTooltipIndicators; @@ -24,6 +26,7 @@ class LineChartData extends AxisChartData { LineChartData({ this.lineBarsData = const [], this.titlesData = const FlTitlesData(), + this.axisTitleData = const FlAxisTitleData(), this.extraLinesData = const ExtraLinesData(), this.lineTouchData = const LineTouchData(), this.showingTooltipIndicators = const[], @@ -125,6 +128,7 @@ class LineChartData extends AxisChartData { extraLinesData: ExtraLinesData.lerp(a.extraLinesData, b.extraLinesData, t), gridData: FlGridData.lerp(a.gridData, b.gridData, t), titlesData: FlTitlesData.lerp(a.titlesData, b.titlesData, t), + axisTitleData: FlAxisTitleData.lerp(a.axisTitleData, b.axisTitleData, t), lineBarsData: lerpLineChartBarDataList(a.lineBarsData, b.lineBarsData, t), lineTouchData: b.lineTouchData, showingTooltipIndicators: b.showingTooltipIndicators, @@ -137,6 +141,7 @@ class LineChartData extends AxisChartData { LineChartData copyWith({ List lineBarsData, FlTitlesData titlesData, + FlAxisTitleData axisTitleData, ExtraLinesData extraLinesData, LineTouchData lineTouchData, List>> showingTooltipIndicators, @@ -152,6 +157,7 @@ class LineChartData extends AxisChartData { return LineChartData( lineBarsData: lineBarsData ?? this.lineBarsData, titlesData: titlesData ?? this.titlesData, + axisTitleData: axisTitleData ?? this.axisTitleData, extraLinesData: extraLinesData ?? this.extraLinesData, lineTouchData: lineTouchData ?? this.lineTouchData, showingTooltipIndicators: showingTooltipIndicators ?? this.showingTooltipIndicators, diff --git a/lib/src/chart/line_chart/line_chart_painter.dart b/lib/src/chart/line_chart/line_chart_painter.dart index 3da8a193a..443f06f64 100644 --- a/lib/src/chart/line_chart/line_chart_painter.dart +++ b/lib/src/chart/line_chart/line_chart_painter.dart @@ -1,3 +1,4 @@ +import 'dart:math' as math; import 'dart:ui' as ui; import 'package:fl_chart/fl_chart.dart'; @@ -97,6 +98,8 @@ class LineChartPainter extends AxisChartPainter with TouchHandler canvas.restore(); } + drawAxisTitles(canvas, size); + drawTitles(canvas, size); drawExtraLines(canvas, size); @@ -561,6 +564,89 @@ class LineChartPainter extends AxisChartPainter with TouchHandler canvas.drawRect(rect, clearAroundBorderPaint); } + void drawAxisTitles(Canvas canvas, Size viewSize) { + if (!data.axisTitleData.show) { + return; + } + viewSize = getChartUsableDrawSize(viewSize); + + final axisTitles = data.axisTitleData; + + // Left Title + final leftTitle = axisTitles.leftTitle; + if (leftTitle.showTitle) { + final TextSpan span = + TextSpan(style: leftTitle.textStyle, text: leftTitle.titleText); + final TextPainter tp = TextPainter( + text: span, + textAlign: leftTitle.textAlign, + textDirection: TextDirection.ltr); + tp.layout(minWidth: viewSize.height); + canvas.save(); + canvas.rotate(-math.pi * 0.5); + tp.paint( + canvas, + Offset(-viewSize.height - getTopOffsetDrawSize(), + leftTitle.reservedSize - tp.height)); + canvas.restore(); + } + + // Top title + final topTitle = axisTitles.topTitle; + if (topTitle.showTitle) { + final TextSpan span = + TextSpan(style: topTitle.textStyle, text: topTitle.titleText); + final TextPainter tp = TextPainter( + text: span, + textAlign: topTitle.textAlign, + textDirection: TextDirection.ltr); + tp.layout(minWidth: viewSize.width); + tp.paint(canvas, + Offset(getLeftOffsetDrawSize(), topTitle.reservedSize - tp.height)); + } + + // Right Title + final rightTitle = axisTitles.rightTitle; + if (rightTitle.showTitle) { + final TextSpan span = + TextSpan(style: rightTitle.textStyle, text: rightTitle.titleText); + final TextPainter tp = TextPainter( + text: span, + textAlign: rightTitle.textAlign, + textDirection: TextDirection.ltr); + tp.layout(minWidth: viewSize.height); + canvas.save(); + canvas.rotate(-math.pi * 0.5); + tp.paint( + canvas, + Offset( + -viewSize.height - getTopOffsetDrawSize(), + viewSize.width + + getExtraNeededHorizontalSpace() - + rightTitle.reservedSize)); + canvas.restore(); + } + + // Bottom title + final bottomTitle = axisTitles.bottomTitle; + if (bottomTitle.showTitle) { + final TextSpan span = + TextSpan(style: bottomTitle.textStyle, text: bottomTitle.titleText); + final TextPainter tp = TextPainter( + text: span, + textAlign: bottomTitle.textAlign, + textDirection: TextDirection.ltr); + tp.layout(minWidth: viewSize.width); + tp.paint( + canvas, + Offset( + getLeftOffsetDrawSize(), + getExtraNeededVerticalSpace() - + bottomTitle.reservedSize + + viewSize.height)); + } + } + void drawTitles(Canvas canvas, Size viewSize) { if (!data.titlesData.show) { return; @@ -803,6 +889,17 @@ class LineChartPainter extends AxisChartPainter with TouchHandler sum += rightSide.reservedSize + rightSide.margin; } } + if (data.axisTitleData.show) { + final leftSide = data.axisTitleData.leftTitle; + if (leftSide.showTitle) { + sum += leftSide.reservedSize + leftSide.margin; + } + + final rightSide = data.axisTitleData.rightTitle; + if (rightSide.showTitle) { + sum += rightSide.reservedSize + rightSide.margin; + } + } return sum; } @@ -825,6 +922,17 @@ class LineChartPainter extends AxisChartPainter with TouchHandler sum += bottomSide.reservedSize + bottomSide.margin; } } + if (data.axisTitleData.show) { + final topSide = data.axisTitleData.topTitle; + if (topSide.showTitle) { + sum += topSide.reservedSize + topSide.margin; + } + + final bottomSide = data.axisTitleData.bottomTitle; + if (bottomSide.showTitle) { + sum += bottomSide.reservedSize + bottomSide.margin; + } + } return sum; } @@ -839,6 +947,10 @@ class LineChartPainter extends AxisChartPainter with TouchHandler if (data.titlesData.show && leftTitles.showTitles) { sum += leftTitles.reservedSize + leftTitles.margin; } + final leftAxisTitle = data.axisTitleData.leftTitle; + if (data.axisTitleData.show && leftAxisTitle.showTitle) { + sum += leftAxisTitle.reservedSize + leftAxisTitle.margin; + } return sum; } @@ -853,6 +965,10 @@ class LineChartPainter extends AxisChartPainter with TouchHandler if (data.titlesData.show && topTitles.showTitles) { sum += topTitles.reservedSize + topTitles.margin; } + final topAxisTitle = data.axisTitleData.topTitle; + if (data.axisTitleData.show && topAxisTitle.showTitle) { + sum += topAxisTitle.reservedSize + topAxisTitle.margin; + } return sum; } From e951af84159d366b3280b2106967b78fbe7ee580 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20K=C3=B6pke?= Date: Tue, 10 Dec 2019 14:53:24 +0100 Subject: [PATCH 2/6] moved axis titles to axis chart painter and added example for bar chart --- .../bar_chart/samples/bar_chart_sample2.dart | 22 +++ lib/src/chart/bar_chart/bar_chart_data.dart | 6 + .../base/axis_chart/axis_chart_data.dart | 2 + .../base/axis_chart/axis_chart_painter.dart | 149 ++++++++++++++++++ lib/src/chart/line_chart/line_chart_data.dart | 4 +- .../chart/line_chart/line_chart_painter.dart | 116 -------------- .../scatter_chart/scatter_chart_data.dart | 2 + 7 files changed, 183 insertions(+), 118 deletions(-) diff --git a/example/lib/bar_chart/samples/bar_chart_sample2.dart b/example/lib/bar_chart/samples/bar_chart_sample2.dart index 7564f685e..e7d5895d2 100644 --- a/example/lib/bar_chart/samples/bar_chart_sample2.dart +++ b/example/lib/bar_chart/samples/bar_chart_sample2.dart @@ -128,6 +128,28 @@ class BarChartSample2State extends State { }); } ), + axisTitleData: + FlAxisTitleData( + show: true, + leftTitle: AxisTitle( + showTitle: true, + titleText: 'VOLUME', + margin: 16, + textStyle: TextStyle( + color: const Color(0xff7589a2), + fontWeight: FontWeight.bold, + fontSize: 14), + ), + bottomTitle: AxisTitle( + showTitle: true, + titleText: 'Press bars to display average', + textAlign: TextAlign.end, + textStyle: TextStyle( + color: const Color(0xff7589a2), + fontWeight: FontWeight.bold, + fontSize: 14), + ) + ), titlesData: FlTitlesData( show: true, bottomTitles: SideTitles( diff --git a/lib/src/chart/bar_chart/bar_chart_data.dart b/lib/src/chart/bar_chart/bar_chart_data.dart index 719e920a8..04e5c02cb 100644 --- a/lib/src/chart/bar_chart/bar_chart_data.dart +++ b/lib/src/chart/bar_chart/bar_chart_data.dart @@ -11,6 +11,7 @@ import 'package:flutter/material.dart'; /// This class is responsible to holds data to draw Bar Chart /// [barGroups] holds list of bar groups to show together, /// [groupsSpace] space between groups, it applies only when the [alignment] is [Alignment.center], +/// [axisTitleData] to show a description of each axis /// [alignment] is the alignment of showing groups, /// [titlesData] holds data about drawing left and bottom titles. class BarChartData extends AxisChartData { @@ -30,11 +31,13 @@ class BarChartData extends AxisChartData { show: false, ), FlBorderData borderData, + FlAxisTitleData axisTitleData = const FlAxisTitleData(), double maxY, Color backgroundColor, }) : super( gridData: gridData, borderData: borderData, + axisTitleData: axisTitleData, backgroundColor: backgroundColor, touchData: barTouchData, ) { @@ -91,6 +94,7 @@ class BarChartData extends AxisChartData { double groupsSpace, BarChartAlignment alignment, FlTitlesData titlesData, + FlAxisTitleData axisTitleData, BarTouchData barTouchData, FlGridData gridData, FlBorderData borderData, @@ -102,6 +106,7 @@ class BarChartData extends AxisChartData { groupsSpace: groupsSpace ?? this.groupsSpace, alignment: alignment ?? this.alignment, titlesData: titlesData ?? this.titlesData, + axisTitleData: axisTitleData ?? this.axisTitleData, barTouchData: barTouchData ?? this.barTouchData, gridData: gridData ?? this.gridData, borderData: borderData ?? this.borderData, @@ -118,6 +123,7 @@ class BarChartData extends AxisChartData { groupsSpace: lerpDouble(a.groupsSpace, b.groupsSpace, t), alignment: b.alignment, titlesData: FlTitlesData.lerp(a.titlesData, b.titlesData, t), + axisTitleData: FlAxisTitleData.lerp(a.axisTitleData, b.axisTitleData, t), barTouchData: b.barTouchData, gridData: FlGridData.lerp(a.gridData, b.gridData, t), borderData: FlBorderData.lerp(a.borderData, b.borderData, t), diff --git a/lib/src/chart/base/axis_chart/axis_chart_data.dart b/lib/src/chart/base/axis_chart/axis_chart_data.dart index ec69c32b5..53cdbf6ae 100644 --- a/lib/src/chart/base/axis_chart/axis_chart_data.dart +++ b/lib/src/chart/base/axis_chart/axis_chart_data.dart @@ -12,6 +12,7 @@ import 'package:flutter/material.dart'; /// each child have to set it in their constructor. abstract class AxisChartData extends BaseChartData { final FlGridData gridData; + final FlAxisTitleData axisTitleData; double minX, maxX; double minY, maxY; @@ -26,6 +27,7 @@ abstract class AxisChartData extends BaseChartData { this.gridData = const FlGridData(), FlBorderData borderData, FlTouchData touchData, + this.axisTitleData, this.minX, this.maxX, this.minY, diff --git a/lib/src/chart/base/axis_chart/axis_chart_painter.dart b/lib/src/chart/base/axis_chart/axis_chart_painter.dart index d569f523a..9f9210446 100644 --- a/lib/src/chart/base/axis_chart/axis_chart_painter.dart +++ b/lib/src/chart/base/axis_chart/axis_chart_painter.dart @@ -1,3 +1,5 @@ +import 'dart:math' as math; + import 'package:fl_chart/src/chart/bar_chart/bar_chart_painter.dart'; import 'package:fl_chart/src/chart/base/base_chart/base_chart_painter.dart'; import 'package:fl_chart/src/chart/line_chart/line_chart_painter.dart'; @@ -26,6 +28,153 @@ abstract class AxisChartPainter extends BaseChartPainte drawBackground(canvas, size); drawGrid(canvas, size); + drawAxisTitles(canvas, size); + } + + + void drawAxisTitles(Canvas canvas, Size viewSize) { + if (!data.axisTitleData.show) { + return; + } + viewSize = getChartUsableDrawSize(viewSize); + + final axisTitles = data.axisTitleData; + + // Left Title + final leftTitle = axisTitles.leftTitle; + if (leftTitle.showTitle) { + final TextSpan span = + TextSpan(style: leftTitle.textStyle, text: leftTitle.titleText); + final TextPainter tp = TextPainter( + text: span, + textAlign: leftTitle.textAlign, + textDirection: TextDirection.ltr); + tp.layout(minWidth: viewSize.height); + canvas.save(); + canvas.rotate(-math.pi * 0.5); + tp.paint( + canvas, + Offset(-viewSize.height - getTopOffsetDrawSize(), + leftTitle.reservedSize - tp.height)); + canvas.restore(); + } + + // Top title + final topTitle = axisTitles.topTitle; + if (topTitle.showTitle) { + final TextSpan span = + TextSpan(style: topTitle.textStyle, text: topTitle.titleText); + final TextPainter tp = TextPainter( + text: span, + textAlign: topTitle.textAlign, + textDirection: TextDirection.ltr); + tp.layout(minWidth: viewSize.width); + tp.paint(canvas, + Offset(getLeftOffsetDrawSize(), topTitle.reservedSize - tp.height)); + } + + // Right Title + final rightTitle = axisTitles.rightTitle; + if (rightTitle.showTitle) { + final TextSpan span = + TextSpan(style: rightTitle.textStyle, text: rightTitle.titleText); + final TextPainter tp = TextPainter( + text: span, + textAlign: rightTitle.textAlign, + textDirection: TextDirection.ltr); + tp.layout(minWidth: viewSize.height); + canvas.save(); + canvas.rotate(-math.pi * 0.5); + tp.paint( + canvas, + Offset( + -viewSize.height - getTopOffsetDrawSize(), + viewSize.width + + getExtraNeededHorizontalSpace() - + rightTitle.reservedSize)); + canvas.restore(); + } + + // Bottom title + final bottomTitle = axisTitles.bottomTitle; + if (bottomTitle.showTitle) { + final TextSpan span = + TextSpan(style: bottomTitle.textStyle, text: bottomTitle.titleText); + final TextPainter tp = TextPainter( + text: span, + textAlign: bottomTitle.textAlign, + textDirection: TextDirection.ltr); + tp.layout(minWidth: viewSize.width); + tp.paint( + canvas, + Offset( + getLeftOffsetDrawSize(), + getExtraNeededVerticalSpace() - + bottomTitle.reservedSize + + viewSize.height)); + } + } + + @override + double getExtraNeededHorizontalSpace() { + double sum = super.getExtraNeededHorizontalSpace(); + + if (data.axisTitleData.show) { + final leftSide = data.axisTitleData.leftTitle; + if (leftSide.showTitle) { + sum += leftSide.reservedSize + leftSide.margin; + } + + final rightSide = data.axisTitleData.rightTitle; + if (rightSide.showTitle) { + sum += rightSide.reservedSize + rightSide.margin; + } + } + + return sum; + } + + @override + double getExtraNeededVerticalSpace() { + double sum = super.getExtraNeededVerticalSpace(); + + if (data.axisTitleData.show) { + final topSide = data.axisTitleData.topTitle; + if (topSide.showTitle) { + sum += topSide.reservedSize + topSide.margin; + } + + final bottomSide = data.axisTitleData.bottomTitle; + if (bottomSide.showTitle) { + sum += bottomSide.reservedSize + bottomSide.margin; + } + } + + return sum; + } + + @override + double getLeftOffsetDrawSize() { + var sum = super.getLeftOffsetDrawSize(); + + final leftAxisTitle = data.axisTitleData.leftTitle; + if (data.axisTitleData.show && leftAxisTitle.showTitle) { + sum += leftAxisTitle.reservedSize + leftAxisTitle.margin; + } + + return sum; + } + + @override + double getTopOffsetDrawSize() { + var sum = super.getTopOffsetDrawSize(); + + final topAxisTitle = data.axisTitleData.topTitle; + if (data.axisTitleData.show && topAxisTitle.showTitle) { + sum += topAxisTitle.reservedSize + topAxisTitle.margin; + } + + return sum; } void drawGrid(Canvas canvas, Size viewSize) { diff --git a/lib/src/chart/line_chart/line_chart_data.dart b/lib/src/chart/line_chart/line_chart_data.dart index 2ec5558ac..3f0ea95b2 100644 --- a/lib/src/chart/line_chart/line_chart_data.dart +++ b/lib/src/chart/line_chart/line_chart_data.dart @@ -18,7 +18,6 @@ import 'package:flutter/material.dart'; class LineChartData extends AxisChartData { final List lineBarsData; final FlTitlesData titlesData; - final FlAxisTitleData axisTitleData; final ExtraLinesData extraLinesData; final LineTouchData lineTouchData; final List>> showingTooltipIndicators; @@ -26,12 +25,12 @@ class LineChartData extends AxisChartData { LineChartData({ this.lineBarsData = const [], this.titlesData = const FlTitlesData(), - this.axisTitleData = const FlAxisTitleData(), this.extraLinesData = const ExtraLinesData(), this.lineTouchData = const LineTouchData(), this.showingTooltipIndicators = const[], FlGridData gridData = const FlGridData(), FlBorderData borderData, + FlAxisTitleData axisTitleData = const FlAxisTitleData(), double minX, double maxX, double minY, @@ -42,6 +41,7 @@ class LineChartData extends AxisChartData { gridData: gridData, touchData: lineTouchData, borderData: borderData, + axisTitleData: axisTitleData, clipToBorder: clipToBorder, backgroundColor: backgroundColor, ) { diff --git a/lib/src/chart/line_chart/line_chart_painter.dart b/lib/src/chart/line_chart/line_chart_painter.dart index 443f06f64..3da8a193a 100644 --- a/lib/src/chart/line_chart/line_chart_painter.dart +++ b/lib/src/chart/line_chart/line_chart_painter.dart @@ -1,4 +1,3 @@ -import 'dart:math' as math; import 'dart:ui' as ui; import 'package:fl_chart/fl_chart.dart'; @@ -98,8 +97,6 @@ class LineChartPainter extends AxisChartPainter with TouchHandler canvas.restore(); } - drawAxisTitles(canvas, size); - drawTitles(canvas, size); drawExtraLines(canvas, size); @@ -564,89 +561,6 @@ class LineChartPainter extends AxisChartPainter with TouchHandler canvas.drawRect(rect, clearAroundBorderPaint); } - void drawAxisTitles(Canvas canvas, Size viewSize) { - if (!data.axisTitleData.show) { - return; - } - viewSize = getChartUsableDrawSize(viewSize); - - final axisTitles = data.axisTitleData; - - // Left Title - final leftTitle = axisTitles.leftTitle; - if (leftTitle.showTitle) { - final TextSpan span = - TextSpan(style: leftTitle.textStyle, text: leftTitle.titleText); - final TextPainter tp = TextPainter( - text: span, - textAlign: leftTitle.textAlign, - textDirection: TextDirection.ltr); - tp.layout(minWidth: viewSize.height); - canvas.save(); - canvas.rotate(-math.pi * 0.5); - tp.paint( - canvas, - Offset(-viewSize.height - getTopOffsetDrawSize(), - leftTitle.reservedSize - tp.height)); - canvas.restore(); - } - - // Top title - final topTitle = axisTitles.topTitle; - if (topTitle.showTitle) { - final TextSpan span = - TextSpan(style: topTitle.textStyle, text: topTitle.titleText); - final TextPainter tp = TextPainter( - text: span, - textAlign: topTitle.textAlign, - textDirection: TextDirection.ltr); - tp.layout(minWidth: viewSize.width); - tp.paint(canvas, - Offset(getLeftOffsetDrawSize(), topTitle.reservedSize - tp.height)); - } - - // Right Title - final rightTitle = axisTitles.rightTitle; - if (rightTitle.showTitle) { - final TextSpan span = - TextSpan(style: rightTitle.textStyle, text: rightTitle.titleText); - final TextPainter tp = TextPainter( - text: span, - textAlign: rightTitle.textAlign, - textDirection: TextDirection.ltr); - tp.layout(minWidth: viewSize.height); - canvas.save(); - canvas.rotate(-math.pi * 0.5); - tp.paint( - canvas, - Offset( - -viewSize.height - getTopOffsetDrawSize(), - viewSize.width + - getExtraNeededHorizontalSpace() - - rightTitle.reservedSize)); - canvas.restore(); - } - - // Bottom title - final bottomTitle = axisTitles.bottomTitle; - if (bottomTitle.showTitle) { - final TextSpan span = - TextSpan(style: bottomTitle.textStyle, text: bottomTitle.titleText); - final TextPainter tp = TextPainter( - text: span, - textAlign: bottomTitle.textAlign, - textDirection: TextDirection.ltr); - tp.layout(minWidth: viewSize.width); - tp.paint( - canvas, - Offset( - getLeftOffsetDrawSize(), - getExtraNeededVerticalSpace() - - bottomTitle.reservedSize + - viewSize.height)); - } - } - void drawTitles(Canvas canvas, Size viewSize) { if (!data.titlesData.show) { return; @@ -889,17 +803,6 @@ class LineChartPainter extends AxisChartPainter with TouchHandler sum += rightSide.reservedSize + rightSide.margin; } } - if (data.axisTitleData.show) { - final leftSide = data.axisTitleData.leftTitle; - if (leftSide.showTitle) { - sum += leftSide.reservedSize + leftSide.margin; - } - - final rightSide = data.axisTitleData.rightTitle; - if (rightSide.showTitle) { - sum += rightSide.reservedSize + rightSide.margin; - } - } return sum; } @@ -922,17 +825,6 @@ class LineChartPainter extends AxisChartPainter with TouchHandler sum += bottomSide.reservedSize + bottomSide.margin; } } - if (data.axisTitleData.show) { - final topSide = data.axisTitleData.topTitle; - if (topSide.showTitle) { - sum += topSide.reservedSize + topSide.margin; - } - - final bottomSide = data.axisTitleData.bottomTitle; - if (bottomSide.showTitle) { - sum += bottomSide.reservedSize + bottomSide.margin; - } - } return sum; } @@ -947,10 +839,6 @@ class LineChartPainter extends AxisChartPainter with TouchHandler if (data.titlesData.show && leftTitles.showTitles) { sum += leftTitles.reservedSize + leftTitles.margin; } - final leftAxisTitle = data.axisTitleData.leftTitle; - if (data.axisTitleData.show && leftAxisTitle.showTitle) { - sum += leftAxisTitle.reservedSize + leftAxisTitle.margin; - } return sum; } @@ -965,10 +853,6 @@ class LineChartPainter extends AxisChartPainter with TouchHandler if (data.titlesData.show && topTitles.showTitles) { sum += topTitles.reservedSize + topTitles.margin; } - final topAxisTitle = data.axisTitleData.topTitle; - if (data.axisTitleData.show && topAxisTitle.showTitle) { - sum += topAxisTitle.reservedSize + topAxisTitle.margin; - } return sum; } diff --git a/lib/src/chart/scatter_chart/scatter_chart_data.dart b/lib/src/chart/scatter_chart/scatter_chart_data.dart index 38ab5be0c..5d5e7d12c 100644 --- a/lib/src/chart/scatter_chart/scatter_chart_data.dart +++ b/lib/src/chart/scatter_chart/scatter_chart_data.dart @@ -19,6 +19,7 @@ class ScatterChartData extends AxisChartData { this.showingTooltipIndicators = const [], FlGridData gridData = const FlGridData(), FlBorderData borderData, + FlAxisTitleData axisTitleData = const FlAxisTitleData(), double minX, double maxX, double minY, @@ -29,6 +30,7 @@ class ScatterChartData extends AxisChartData { gridData: gridData, touchData: scatterTouchData, borderData: borderData, + axisTitleData: axisTitleData, clipToBorder: clipToBorder, backgroundColor: backgroundColor, ) { From 009eccf069e6e7cc04a29bdac793612a7741f9a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20K=C3=B6pke?= Date: Tue, 10 Dec 2019 15:22:25 +0100 Subject: [PATCH 3/6] added example for scatter chart axis titles and fixed axis title lerp when show/hide is toggled --- .../samples/scatter_chart_sample1.dart | 11 ++++++++ .../base/base_chart/base_chart_data.dart | 28 ++++++++++++------- .../scatter_chart/scatter_chart_data.dart | 3 ++ 3 files changed, 32 insertions(+), 10 deletions(-) diff --git a/example/lib/scatter_chart/samples/scatter_chart_sample1.dart b/example/lib/scatter_chart/samples/scatter_chart_sample1.dart index cf2ae9486..83013df2b 100644 --- a/example/lib/scatter_chart/samples/scatter_chart_sample1.dart +++ b/example/lib/scatter_chart/samples/scatter_chart_sample1.dart @@ -48,6 +48,17 @@ class _ScatterChartSample1State extends State { titlesData: const FlTitlesData( show: false, ), + axisTitleData: FlAxisTitleData( + show: showFlutter, + topTitle: const AxisTitle(showTitle: true, + titleText: 'Flutter'), + leftTitle: const AxisTitle(showTitle: true, + titleText: 'charts'), + rightTitle: const AxisTitle(showTitle: true, + titleText: 'are'), + bottomTitle: const AxisTitle(showTitle: true, + titleText: 'awesome'), + ), scatterTouchData: const ScatterTouchData( enabled: false, ) diff --git a/lib/src/chart/base/base_chart/base_chart_data.dart b/lib/src/chart/base/base_chart/base_chart_data.dart index 22decc802..3c4d8a411 100644 --- a/lib/src/chart/base/base_chart/base_chart_data.dart +++ b/lib/src/chart/base/base_chart/base_chart_data.dart @@ -90,11 +90,12 @@ class FlAxisTitleData { static FlAxisTitleData lerp(FlAxisTitleData a, FlAxisTitleData b, double t) { return FlAxisTitleData( - show: b.show, - leftTitle: AxisTitle.lerp(a.leftTitle, b.leftTitle, t), - rightTitle: AxisTitle.lerp(a.rightTitle, b.rightTitle, t), - bottomTitle: AxisTitle.lerp(a.bottomTitle, b.bottomTitle, t), - topTitle: AxisTitle.lerp(a.topTitle, b.topTitle, t), + show: a.show || b.show, + leftTitle: AxisTitle.lerp(a.leftTitle, a.show, b.leftTitle, b.show, t), + rightTitle: AxisTitle.lerp(a.rightTitle, a.show, b.rightTitle, b.show, t), + bottomTitle: + AxisTitle.lerp(a.bottomTitle, a.show, b.bottomTitle, b.show, t), + topTitle: AxisTitle.lerp(a.topTitle, a.show, b.topTitle, b.show, t), ); } } @@ -120,14 +121,21 @@ class AxisTitle { this.margin = 4, }); - static AxisTitle lerp(AxisTitle a, AxisTitle b, double t) { + static AxisTitle lerp( + AxisTitle a, bool aVisible, AxisTitle b, bool bVisible, double t) { + final showA = a.showTitle && aVisible; + final showB = b.showTitle && bVisible; return AxisTitle( - showTitle: b.showTitle, + showTitle: showB || showA, titleText: b.titleText, - reservedSize: lerpDouble(a.reservedSize, b.reservedSize, t), - textStyle: TextStyle.lerp(a.textStyle, b.textStyle, t), + reservedSize: + lerpDouble(showA ? a.reservedSize : 0, showB ? b.reservedSize : 0, t), + textStyle: TextStyle.lerp( + a.textStyle.copyWith(fontSize: showA ? a.textStyle.fontSize : 0), + b.textStyle.copyWith(fontSize: showB ? b.textStyle.fontSize : 0), + t), textAlign: b.textAlign, - margin: lerpDouble(a.margin, b.margin, t), + margin: lerpDouble(showA ? a.margin : 0, showB ? b.margin : 0, t), ); } } diff --git a/lib/src/chart/scatter_chart/scatter_chart_data.dart b/lib/src/chart/scatter_chart/scatter_chart_data.dart index 5d5e7d12c..c22904b57 100644 --- a/lib/src/chart/scatter_chart/scatter_chart_data.dart +++ b/lib/src/chart/scatter_chart/scatter_chart_data.dart @@ -104,6 +104,7 @@ class ScatterChartData extends AxisChartData { showingTooltipIndicators: lerpIntList(a.showingTooltipIndicators, b.showingTooltipIndicators, t), gridData: FlGridData.lerp(a.gridData, b.gridData, t), borderData: FlBorderData.lerp(a.borderData, b.borderData, t), + axisTitleData: FlAxisTitleData.lerp(a.axisTitleData, b.axisTitleData, t), minX: lerpDouble(a.minX, b.minX, t), maxX: lerpDouble(a.maxX, b.maxX, t), minY: lerpDouble(a.minY, b.minY, t), @@ -123,6 +124,7 @@ class ScatterChartData extends AxisChartData { List showingTooltipIndicators, FlGridData gridData, FlBorderData borderData, + FlAxisTitleData axisTitleData, double minX, double maxX, double minY, @@ -137,6 +139,7 @@ class ScatterChartData extends AxisChartData { showingTooltipIndicators: showingTooltipIndicators ?? this.showingTooltipIndicators, gridData: gridData ?? this.gridData, borderData: borderData ?? this.borderData, + axisTitleData: axisTitleData ?? this.axisTitleData, minX: minX ?? this.minX, maxX: maxX ?? this.maxX, minY: minY ?? this.minY, From 158da72928073dc9e3e2cf0f2663f74fb370e97a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20K=C3=B6pke?= Date: Fri, 13 Dec 2019 13:48:31 +0100 Subject: [PATCH 4/6] review changes --- .../chart/bar_chart/bar_chart_painter.dart | 1 + .../base/axis_chart/axis_chart_painter.dart | 1 - .../base/base_chart/base_chart_data.dart | 29 ++++++++----------- .../chart/line_chart/line_chart_painter.dart | 1 + .../scatter_chart/scatter_chart_painter.dart | 1 + 5 files changed, 15 insertions(+), 18 deletions(-) diff --git a/lib/src/chart/bar_chart/bar_chart_painter.dart b/lib/src/chart/bar_chart/bar_chart_painter.dart index 14ea3c02d..97c95c8fd 100644 --- a/lib/src/chart/bar_chart/bar_chart_painter.dart +++ b/lib/src/chart/bar_chart/bar_chart_painter.dart @@ -41,6 +41,7 @@ class BarChartPainter extends AxisChartPainter with TouchHandler extends BaseChartPainte drawBackground(canvas, size); drawGrid(canvas, size); - drawAxisTitles(canvas, size); } diff --git a/lib/src/chart/base/base_chart/base_chart_data.dart b/lib/src/chart/base/base_chart/base_chart_data.dart index 3c4d8a411..1df11d88f 100644 --- a/lib/src/chart/base/base_chart/base_chart_data.dart +++ b/lib/src/chart/base/base_chart/base_chart_data.dart @@ -56,7 +56,7 @@ class FlBorderData { ); } - + } /***** TouchData *****/ @@ -90,12 +90,11 @@ class FlAxisTitleData { static FlAxisTitleData lerp(FlAxisTitleData a, FlAxisTitleData b, double t) { return FlAxisTitleData( - show: a.show || b.show, - leftTitle: AxisTitle.lerp(a.leftTitle, a.show, b.leftTitle, b.show, t), - rightTitle: AxisTitle.lerp(a.rightTitle, a.show, b.rightTitle, b.show, t), - bottomTitle: - AxisTitle.lerp(a.bottomTitle, a.show, b.bottomTitle, b.show, t), - topTitle: AxisTitle.lerp(a.topTitle, a.show, b.topTitle, b.show, t), + show: b.show, + leftTitle: AxisTitle.lerp(a.leftTitle, b.leftTitle, t), + rightTitle: AxisTitle.lerp(a.rightTitle, b.rightTitle, t), + bottomTitle: AxisTitle.lerp(a.bottomTitle, b.bottomTitle, t), + topTitle: AxisTitle.lerp(a.topTitle, b.topTitle, t), ); } } @@ -121,21 +120,17 @@ class AxisTitle { this.margin = 4, }); - static AxisTitle lerp( - AxisTitle a, bool aVisible, AxisTitle b, bool bVisible, double t) { - final showA = a.showTitle && aVisible; - final showB = b.showTitle && bVisible; + static AxisTitle lerp(AxisTitle a, AxisTitle b, double t) { return AxisTitle( - showTitle: showB || showA, + showTitle: b.showTitle, titleText: b.titleText, - reservedSize: - lerpDouble(showA ? a.reservedSize : 0, showB ? b.reservedSize : 0, t), + reservedSize: lerpDouble(a.reservedSize, b.reservedSize, t), textStyle: TextStyle.lerp( - a.textStyle.copyWith(fontSize: showA ? a.textStyle.fontSize : 0), - b.textStyle.copyWith(fontSize: showB ? b.textStyle.fontSize : 0), + a.textStyle.copyWith(fontSize: a.textStyle.fontSize), + b.textStyle.copyWith(fontSize: b.textStyle.fontSize), t), textAlign: b.textAlign, - margin: lerpDouble(showA ? a.margin : 0, showB ? b.margin : 0, t), + margin: lerpDouble(a.margin, b.margin, t), ); } } diff --git a/lib/src/chart/line_chart/line_chart_painter.dart b/lib/src/chart/line_chart/line_chart_painter.dart index 3da8a193a..47dfdca67 100644 --- a/lib/src/chart/line_chart/line_chart_painter.dart +++ b/lib/src/chart/line_chart/line_chart_painter.dart @@ -97,6 +97,7 @@ class LineChartPainter extends AxisChartPainter with TouchHandler canvas.restore(); } + drawAxisTitles(canvas, size); drawTitles(canvas, size); drawExtraLines(canvas, size); diff --git a/lib/src/chart/scatter_chart/scatter_chart_painter.dart b/lib/src/chart/scatter_chart/scatter_chart_painter.dart index bdaf892d0..bec45315d 100644 --- a/lib/src/chart/scatter_chart/scatter_chart_painter.dart +++ b/lib/src/chart/scatter_chart/scatter_chart_painter.dart @@ -31,6 +31,7 @@ class ScatterChartPainter extends AxisChartPainter with TouchH void paint(Canvas canvas, Size size) { super.paint(canvas, size); + drawAxisTitles(canvas, size); drawTitles(canvas, size); drawSpots(canvas, size); From 7d5713ffe90610d21101174a98c8810a9985cf06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20K=C3=B6pke?= Date: Fri, 20 Dec 2019 15:42:42 +0100 Subject: [PATCH 5/6] revert axis title example changes --- .../bar_chart/samples/bar_chart_sample2.dart | 22 ------------------- .../samples/scatter_chart_sample1.dart | 11 ---------- 2 files changed, 33 deletions(-) diff --git a/example/lib/bar_chart/samples/bar_chart_sample2.dart b/example/lib/bar_chart/samples/bar_chart_sample2.dart index e7d5895d2..7564f685e 100644 --- a/example/lib/bar_chart/samples/bar_chart_sample2.dart +++ b/example/lib/bar_chart/samples/bar_chart_sample2.dart @@ -128,28 +128,6 @@ class BarChartSample2State extends State { }); } ), - axisTitleData: - FlAxisTitleData( - show: true, - leftTitle: AxisTitle( - showTitle: true, - titleText: 'VOLUME', - margin: 16, - textStyle: TextStyle( - color: const Color(0xff7589a2), - fontWeight: FontWeight.bold, - fontSize: 14), - ), - bottomTitle: AxisTitle( - showTitle: true, - titleText: 'Press bars to display average', - textAlign: TextAlign.end, - textStyle: TextStyle( - color: const Color(0xff7589a2), - fontWeight: FontWeight.bold, - fontSize: 14), - ) - ), titlesData: FlTitlesData( show: true, bottomTitles: SideTitles( diff --git a/example/lib/scatter_chart/samples/scatter_chart_sample1.dart b/example/lib/scatter_chart/samples/scatter_chart_sample1.dart index 83013df2b..cf2ae9486 100644 --- a/example/lib/scatter_chart/samples/scatter_chart_sample1.dart +++ b/example/lib/scatter_chart/samples/scatter_chart_sample1.dart @@ -48,17 +48,6 @@ class _ScatterChartSample1State extends State { titlesData: const FlTitlesData( show: false, ), - axisTitleData: FlAxisTitleData( - show: showFlutter, - topTitle: const AxisTitle(showTitle: true, - titleText: 'Flutter'), - leftTitle: const AxisTitle(showTitle: true, - titleText: 'charts'), - rightTitle: const AxisTitle(showTitle: true, - titleText: 'are'), - bottomTitle: const AxisTitle(showTitle: true, - titleText: 'awesome'), - ), scatterTouchData: const ScatterTouchData( enabled: false, ) From 4012978d3a6f93c29eda94832d8f0628e404d4d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20K=C3=B6pke?= Date: Mon, 30 Dec 2019 11:38:25 +0100 Subject: [PATCH 6/6] added axis title documentation and updated screenshots --- repo_files/documentations/bar_chart.md | 1 + repo_files/documentations/base_chart.md | 28 +++++++++++++++++- repo_files/documentations/line_chart.md | 1 + repo_files/documentations/scatter_chart.md | 1 + .../images/line_chart/line_chart_sample_4.png | Bin 39666 -> 47153 bytes .../images/line_chart/line_chart_sample_5.png | Bin 41085 -> 32916 bytes 6 files changed, 30 insertions(+), 1 deletion(-) diff --git a/repo_files/documentations/bar_chart.md b/repo_files/documentations/bar_chart.md index 2548c6a55..9c4c9297a 100644 --- a/repo_files/documentations/bar_chart.md +++ b/repo_files/documentations/bar_chart.md @@ -18,6 +18,7 @@ BarChart( |groupsSpace| space between groups, it applies only when the [alignment](#BarChartAlignment) is `Alignment.center`,|16| |alignment| a [BarChartAlignment](#BarChartAlignment) that determines the alignment of the barGroups, inspired by [Flutter MainAxisAlignment](https://docs.flutter.io/flutter/rendering/MainAxisAlignment-class.html)| BarChartAlignment.spaceBetween| |titlesData| check the [FlTitlesData](base_chart.md#FlTitlesData)|FlTitlesData()| +|axisTitleData| check the [FlAxisTitleData](base_chart.md#FlAxisTitleData)| FlAxisTitleData()| |backgroundColor| a background color which is drawn behind the chart| null | |barTouchData| [BarTouchData](#BarTouchData) holds the touch interactivity details|BarTouchData()| |gridData| check the [FlGridData](base_chart.md#FlGridData)|FlGridData()| diff --git a/repo_files/documentations/base_chart.md b/repo_files/documentations/base_chart.md index 883907923..2f477199b 100644 --- a/repo_files/documentations/base_chart.md +++ b/repo_files/documentations/base_chart.md @@ -77,4 +77,30 @@ currently we have these touch behaviors: |PropName|Description|default value| |:-------|:----------|:------------| |spot|the touched [FlSpot](#FlSpot)|null| -|offset|[Offset](https://api.flutter.dev/flutter/dart-ui/Offset-class.html) of the touched spot|null| \ No newline at end of file +|offset|[Offset](https://api.flutter.dev/flutter/dart-ui/Offset-class.html) of the touched spot|null| + + + +### FlAxisTitleData + +Can be used to display a title text for each axis. Titles for the vertical axes (left and right) will be rotated 90 degrees. + +|PropName |Description |default value| +|:---------------|:---------------|:-------| +|show| determines to show or hide the titles for the axes|true| +|leftTitle| an [AxisTitle](#AxisTitle) that holds data to draw the title of the left axis | `AxisTitle(reservedSize: 16)`| +|topTitle| an [AxisTitle](#AxisTitle) that holds data to draw the title of the top axis | `AxisTitle(reservedSize: 16)`| +|rightTitle| an [AxisTitle](#AxisTitle) that holds data to draw the title of the right axis | `AxisTitle(reservedSize: 16)`| +|bottomTitle| an [AxisTitle](#AxisTitle) that holds data to draw the title of the bottom axis | `AxisTitle(reservedSize: 16)`| + + + +### AxisTitle +|PropName |Description |default value| +|:---------------|:---------------|:-------| +|showTitle| determines to show or hide the title | `false`| +|titleText| the text to draw as a description for this axis| `''`| +|reservedSize| a reserved space for the text| `14`| +|margin| margin between the axis text and inner elements ([SideTitles](#SideTitles) or the chart) | `4`| +|textStyle| [TextStyle](https://api.flutter.dev/flutter/painting/TextStyle-class.html) to determine the style of the text | `TextStyle(color: Colors.black, fontSize: 11)`| +|textAlign| [TextAlign](https://api.flutter.dev/flutter/dart-ui/TextAlign-class.html) to determine the alignment of the text | `TextAlign.center`| diff --git a/repo_files/documentations/line_chart.md b/repo_files/documentations/line_chart.md index 7b5421eae..262a1f5da 100644 --- a/repo_files/documentations/line_chart.md +++ b/repo_files/documentations/line_chart.md @@ -16,6 +16,7 @@ LineChart( |:---------------|:---------------|:-------| |lineBarsData| list of [LineChartBarData ](#LineChartBarData ) to show the chart's lines, they stack and be drawn on top of each other|[]| |titlesData| check the [FlTitlesData](base_chart.md#FlTitlesData)| FlTitlesData()| +|axisTitleData| check the [FlAxisTitleData](base_chart.md#FlAxisTitleData)| FlAxisTitleData()| |extraLinesData| [ExtraLinesData](#ExtraLinesData) object to hold drawing details of extra horizontal and vertical lines.| |lineTouchData| [LineTouchData](#linetouchdata-read-about-touch-handling) holds the touch interactivity details| LineTouchData()| |showingTooltipIndicators| show the tooltip based on provided position(x), and list of [LineBarSpot]| {} | diff --git a/repo_files/documentations/scatter_chart.md b/repo_files/documentations/scatter_chart.md index ae6b2d451..e93487165 100644 --- a/repo_files/documentations/scatter_chart.md +++ b/repo_files/documentations/scatter_chart.md @@ -16,6 +16,7 @@ ScatterChart( |:---------------|:---------------|:-------| |scatterSpots| list of [ScatterSpot ](#ScatterSpot ) to show the scatter spots on the chart|[]| |titlesData| check the [FlTitlesData](base_chart.md#FlTitlesData)| FlTitlesData()| +|axisTitleData| check the [FlAxisTitleData](base_chart.md#FlAxisTitleData)| FlAxisTitleData()| |scatterTouchData| [ScatterTouchData](#scattertouchdata-read-about-touch-handling) holds the touch interactivity details| ScatterTouchData()| |showingTooltipIndicators| indices of showing tooltip|[]| diff --git a/repo_files/images/line_chart/line_chart_sample_4.png b/repo_files/images/line_chart/line_chart_sample_4.png index 4ade56bde2fe8efb0b63b0734441d90ff7b042ba..a85c99f0399f75663ff868ce0acd8702a2908d09 100644 GIT binary patch literal 47153 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 z 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 literal 39666 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 literal 41085 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 z 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