- IMPROVEMENT (by @Peetee06) Added some new unit tests in
bar_chart_data_extensions_test.dart
,gradient_extension_test.dart
and fixed a typo inbar_chart_data.dart
- BREAKING (by @Peetee06) Fixed the equatable functionality in our BarChart. We hope it will not affect anything in our chart, but because the behaviour is changed, we marked it as a breaking change. (read more here)
- IMPROVEMENT (by AliAkberAakash) Minor typo fix in our line chart documentation, #1795
- IMPROVEMENT (by @imaNNeo) Fix the analyzer warnings (to have maximum score in the pub.dev)
- IMPROVEMENT (by @moshe5745) Update the docs related to line chart's
duration
andcurve
properties, #1618 - IMPROVEMENT (by @imaNNeo) Deprecate
swapAnimationDuration
andswapAnimationCurve
properties to usecurve
andduration
instead to keep the consistency over the project, #1618 - BUGFIX (by @aimawari) Fixed lots of issues related to the zero value in the PieChartSectionData, #697, #817 and #1632
- BUGFIX (by @imaNNeo) Fix a memory leak issue in the axis-based charts, there was a logic to calculate and cache the minX, maxX, minY and maxY properties to reduce the computation cost. But it caused some memory issues, as we don't have a quick solution for this, we disabled the caching logic for now, later we can move the calculation logic to the render objects to keep and update them only when the data is changed, #1106, #1693
- BUGFIX (by @imaNNeo) Fix showing grid lines even when there is no line to show in the LineChart, #1691
- IMPROVEMENT (by @sczesla) Allow users to control minIncluded and maxIncluded using SideTitles, #906
- IMPROVEMENT (by @elizabethzhenliu) Reverse the touch order in ScatterChart, so now the top spots are touched first, #1675
- IMPROVEMENT (by @ksw2000) Remove redundant math import, #1683
- IMPROVEMENT (by @Neer-Pathak) Fix linux example build issue, #1668
- IMPROVEMENT (by @TobiasRump) Update the bar chart documentation, #1662
- Improvement (by @imaNNeo) Update LineChartSample6 to implement a way to show a tooltip on a single spot, #1620
- Feature (by @herna) Add
titleSunbeamLayout
inside the BarChartData to allow the user to customize the layout of the title sunbeam - Improvement (by @imaNNeo) Add LineChart and BarChart explanation videos on top of the respective documentation pages (LineChart video, BarChart video)
- FEATURE (by @julien4215) Add direction property to the HorizontalLineLabel and VerticalLineLabel, #1574
- FEATURE (by @apekshamehta) Added new method called getTooltipColor for axis charts (bar,line,scatter) to change background color of tooltip dynamically, #1279.
- BREAKING (by @apekshamehta) Removed tooltipBgColor property from Bar, Line and Scatter Charts (you can now use
getTooltipColor
which provides more customizability), checkout the full migration guide here.
/// Migration guide:
/// This is the old way:
BarChartData(
barTouchData: BarTouchData(
touchTooltipData: BarTouchTooltipData(
tooltipBgColor: Colors.blueGrey,
)
)
)
/// This is the new way:
BarChartData(
barTouchData: BarTouchData(
touchTooltipData: BarTouchTooltipData(
getTooltipColor: (BarChartGroupData group) => Colors.blueGrey,
)
)
)
- BUGFIX (by @stwarwas) Remove dart.io to fix web platform issue, #1577
- BUGFIX (by @imaNNeo) Fix PieChart blackout issue, #1538
- BUGFIX (by @imaNNeo) Fix memory leak in LineChart and BarChart, #1106
- IMPROVEMENT (by @imaNNeo) Add Flutter sdk constraints to the pubspec.yaml to force the user/developer to upgrade the Flutter version to 3.16.0 (latest), #1509
- IMPROVEMENT (by @imaNNeo) Add
dotPainter
property to ScatterSpot to allow customizing the dot painter, #568 - BREAKING (by @imaNNeo) Remove
color
andradius
properties from ScatterSpot (usedotPainter
instead), #568 - BREAKING (by @imaNNeo) Change the default value of FlDotCirclePainter.
strokeWidth
to 0.0
/// Migration guide:
/// This is the old way:
ScatterSpot(
2,
5,
color: Colors.red,
radius: 12,
)
/// This is the new way:
ScatterSpot(
2,
8,
dotPainter: FlDotCirclePainter(
color: Colors.red,
radius: 22,
),
),
- BUGFIX (by @imaNNeo) Fix barChart tooltip for values below or above the 0 point, #1462
- BUGFIX (by @imaNNeo) Fix pieChart drawing single section on iPhone, #1515
- IMPROVEMENT (by @imaNNeo) Add gradient property to the HorizontalLine and VerticalLine, #1525
- FEATURE (by @raldhafiri) Add gradient property to the PieChartSectionData, #1511
- IMPROVEMENT (by @imaNNeo) Rename default branch
master
tomain
- IMPROVEMENT (by @imaNNeo) Update flutter sdk constraints to remove the upper bound limit (Read more here).
- FEATURE (by @Dartek12) Added gradient to FlLine, #1197
- BUGFIX (by @imaNNeo) Fix bar line shadow crash when we have only one (or zero) spot, #1466
- BUGFIX (by @imaNNeo) Fix having negative
toY
(or positivefromY
) in BarChart'sminY
andmaxY
calculations, #1470 - BUGFIX (by @bobatsar) Fix bars drawn outside of diagram
- FEATURE (by @k0psutin) Add dashed border to BarChartRodData, #1144
- FEATURE (by @imaNNeo) Allow to show single point line in LineChart, #1438
- BUGFIX (by @Anas35) Fix Tooltip not displaying when value from BackgroundBarChartRodData is less than zero. #1345.
- BUGFIX (by @imaNNeo) Fix Negative BarChartRodStackItem are not drawn correctly bug, #1347
- BUGFIX (by @imaNNeo) Fix bar_chart_helper minY calculation bug, #1388
- IMPROVEMENT (by @imaNNeo) Consider fraction digits when formatting chart side titles, #1267
- BUGFIX (by @imaNNeo) Fix PieChart crash on web-renderer html by ignoring
sectionsSpace
whenPath.combine()
does not work (it's flutter engine issue), #955 - BUGFIX (by @imaNNeo) Fix ScatterChart long-press interaction bug (disappears when long-pressing on the chart), #1318
- FEATURE (by @imaNNeo) Upgrade dart version to 3.0
- BUGFIX (by @JoshMart) Fix extra lines not painting when at chart min or max, #1255.
- BUGFIX (by @imaNNeo) Check if mounted before calling setState in _handleBuiltInTouch methods in bar, line and scatter charts, #1101
- FEATURE (by @MagdyYacoub1): Added gradient color to RangeAnnotations by adding gradient attribute to horizontalRangeAnnotations and VerticalRangeAnnotation, #1195.
- BUGFIX (by @Motionz-Von)Fix windows build for example app
- FEATURE (by @Motionz-Von)BarChart groupSpace also takes effect when alignment is BarChartAlignment.end or BarChartAlignment.start.
- FEATURE (by @Motionz-Von) supports setting line StrokeCap on HorizontalLine/VerticalLine
- BUGFIX (by @nav-28) Fix radar chart tick and graph point not matching #1078
- IMPROVEMENT (by @imaNNeo) Update LineChartSample5 to demonstrate click to toggle show/hide tooltip, #118
- IMPROVEMENT (by @imaNNeo) Remove assertion to check to provide only one of
color
orgradient
property in the BarChartRodData and BackgroundBarChartRodData, #1121. - IMPROVEMENT (by @imaNNeo) Make
drawBehindEverything
property default totrue
in AxisTitles class, #1097. - BUGFIX (by @imaNNeo) Show
0
instead of-0
in some edge-cases in the default titles - FEATURE (by @tamasapps): Add
tooltipHorizontalAlignment
andtooltipHorizontalOffset
property in [LineTouchTooltipData], [BarTouchTooltipData], [ScatterTouchTooltipData]. - FEATURE (by @dhiyaaulauliyaa) Add ability to force SideTitle to be placed inside its corresponding axis bounding box, #603.
- IMPROVEMENT (by @lsaudon) Replace flutter_lints by very_good_analysis
- BREAKING (by @lsaudon) Update dart sdk to 2.17.0 (flutter 3.0.0)
- BUGFIX (by @imaNNeo) Fix indicator out of range error in line chart, #1187
- FEATURE (by @HTsuruo): Add
longPressDuration
optional property that allows to control the duration LongPress gesture occurs, #1114 #1127. - IMPROVEMENT (by @imaNNeo) Add some screenshots in
pubspec.yaml
to support new pub.dev feature. Read more about it here and here. - IMPROVEMENT (by @imaNNeo) Update the homepage url in
pubspec.yaml
(I just renamed my username) - FEATURE (by @JoshMart) Add ability to draw extra horizontal lines on BarChart, #476
- FEATURE (by @soraef) Add a
positionPercentageOffset
optional property to RadarChartTitle to allow individual title positioning - BUGFIX (by @imaNNeo) Allow to draw empty radarChart (with all zero values), #1217
- IMPORTANT IRAN NEEDS YOU. SPREAD THE NEWS.
- BUGFIX (by @imaNNeo): Fix inner border of pieChart with single section, #1089
- IMPORTANT IRAN NEEDS HELP
As you might know, Islamic Republic of Iran is murdering people in silence right now in Iran They shut the Internet down to do that. That’s why I cannot maintain this library for a while. Now we need your help, please be our voice by spreading news in your media to support us Search these hashtags:
Also, this article might help.
- BUGFIX (by @ateich): Fix infinite loop in RadarChart when all values in RadarDataSet are equal, #882.
- BUGFIX (by @ateich): Fix uneven titles in RadarChart when using titlePositionPercentageOffset, #1074.
- BUGFIX (by @imaNNeo): Fix PieChart single section stroke issue, #1089
- FEATURE (by @emelinepal): Add
tooltipBorder
property in [LineTouchTooltipData], [BarTouchTooltipData], [ScatterTouchTooltipData], #692. - BUGFIX (by @imaNNeo): Fix tooltip issue on negative bar charts, #978.
- IMPROVEMENT (by @imaNNeo): Use Container to draw axis-based charts border.
- FEATURE (by @FlorianArnould) Add the ability to select the RadarChart shape (circle or polygon), #1047.
- BUGFIX (by @imaNNeo): Fix LineChart titles problem with single FlSpot, #1053.
- FEATURE (by @FlorianArnould) Add the ability to rotate the RadarChar titles, #883.
- BREAKING (by @FlorianArnould) RadarChartData.getTitle have a new parameter
angle
and now returns a RadarChartTitle instead of a simplestring
. (Read our Migration Guide to learn more about it)
- FEATURE (by @imaNNeo): Add
SideTitleWidget
to help you use it in [SideTitles.getTitlesWidget]. It's a wrapper around your widget. It keeps your providedchild
widget close to the chart. It hasangle
andspace
properties to handle margin and rotation. There is aaxisSide
property that you should fill, it has provided to you in the MetaData object. Check the below sample:
getTitlesWidget: (double value, TitleMeta meta) {
return SideTitleWidget(
axisSide: meta.axisSide,
space: 8.0,
angle: 0.0,
child: const Text("This is your widget"),
);
},
- IMPROVEMENT (by @imaNNeo): Fix default LineChart interval issue on small view sizes, #909.
- IMPROVEMENT Fix a backward compatibility issue with Flutter 3.0, #1016
- IMPROVEMENT Fix test coverage problem again :/
- IMPROVEMENT Fix test coverage problem
- IMPROVEMENT Fix order of drawing lineChart bar indicator problem, #198.
- FEATURE Add
isStrokeJoinRound
property in LineChartBarData. - IMPROVEMENT Upgrade to Flutter 3, #997.
- FEATURE Add
chartRendererKey
property to the LineChart, BarChart, and ScatterChart. We pass it directly to our chart renderers that are responsible to render the chart itself (without anything around it like titles), #987.
- BUGFIX Allow to show axisTitle without sideTitles, #963
This release has some breaking changes. So please check out the migration guide here
- IMPROVEMENT Allow to return a Widget in SideTitles.getTitlesWidget instead of a
String
. For example, you can pass an Icon widget as a title, #183. Check below samples:
LineChartSample 8 (Source Code)
BarChartSample 7 (Source Code)
- BREAKING Structure of
FlTitlesData
,AxisTitles
, andSideTitles
are changed. Because we are using a new system which allows you to pass any Flutter Widget as a title instead of passingstring
,textStyle
,textAlign
,rotation
, ... (Read our Migration Guide) - FEATURE Now we can use any Gradient such as LinearGradient and RadialGradient everywhere we have gradient.
- BUGFIX Fix BarChart rods gradient problem, #703.
- BREAKING
colors
property renamed tocolor
to keep only one solid color. And now we have agradient
field instead ofcolorStops
,gradientFrom
andgradientTo
in following classes: BarChartRodData, BackgroundBarChartRodData, BarAreaData, BetweenBarsData, LineChartBarData. (Read our Migration Guide to learn more about it)
- BUGFIX Fix drawing BetweenBarsArea problem when there are
nullSpots
in fromLine and toLine, #912. - FEATURE Allow to have vertically grouped BarChart using
fromY
andtoY
properties in BarChartRodData It means you can have a negative and a positive bar chart at the same X location. #334, #875. Check BarChartSample5 and [BarChartSample6](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#sample-6-source-code. - BREAKING Renamed
y
property totoY
in BarChartRodData and BackgroundBarChartRodData due to the above feature. - BUGFIX Fix smaller radius bubble hiding behind bigger radius bubble in ScatterChart, #930.
- BUGFIX Fix tooltip text alignment and direction in line chart, #927.
- IMPORTANT Fuck Vladimir Putin
- BUGFIX Fix
FlSpot.nullSpot
at the first of list bug, #912. - FEATURE Add
scatterLabelSettings
property in ScatterChart which lets you to add titles on the spots, #902.
- BUGFIX Fix
clipData
implementation in ScatterChart and LineChart, #897. - BUGFIX Fix PieChart changing sections issue (we have disabled semantics for pieChart badgeWidgets), #861.
- BUGFIX Fix LineChart width smaller width or height lower than 40, #869, #857.
- BUGFIX Allow to show title when axis diff is zero, #842, #879.
- IMPROVEMENT Improve iteration over axis values logic (it solves some minor problems on showing titles when min, max values are below than 1.0).
- IMPROVEMENT Add
baselineX
andbaselineY
property in our axis-based charts, It fixes a problem aboutinterval
which mentioned in #893 (check this sample. - IMPROVEMENT Added
distanceCalculator
toLineTouchData
which is used to calculate the distance between spots and touch events, #716, #261, #892 - BREAKING
LineTouchResponse
response now contains a list ofTouchLineBarSpot
instead ofLineBarSpot
. They are ordered based on their distance to the touch event and also contain that distance.
- BUGFIX Fix getNearestTouchedSpot. Previously it returned the first occurrence of a spot within the threshold, and not the nearest, #641, #645.
- FEATURE Add
textAlign
property in the SideTitles, #784. - IMPROVEMENT Write some unit-tests and enable code coverage reports in our CI
- IMPROVEMENT Fix showing zero value in side titles and grid lines when we add negative value. Now we always go through the zero value in each axis, #739.
- BUGFIX Fix example app unsupported operation problem on web, #844.
- BUGFIX Fix BarChart empty groups state error, #797.
- BUGFIX Fix drawTooltipOnTop direction minor bug, #815.
- BUGFIX Fix section with zero value problem in PieChart (disabled animation on changing value to zero and from zero), #817
- BUGFIX Fix pie chart stroke problem when adding space between sections (using new approach), #818.
- IMPROVEMENT Fix interval below one, #811
- IMPROVEMENT Use 80 characters for code format line-length instead of 100 (because pub.dev works with 80 and decreased our score).
- IMPROVEMENT Fix pub.dev determining web support, #780.
- IMPROVEMENT Implement flutter_lints in the code.
- BUGFIX Fix below/above area data transparency issue, #770.
- BUGFIX Fixed pieChart
centerRadius = double.infinity
problem, #747.c - BREAKING Charts touchCallback signature has changed to
(FlTouchEvent event, BaseTouchResponse? response)
which FlTouchEvent determines which touch/pointer event happened (such asFlTapUpEvent
,FlPanUpdateEvent
, ...), and BaseTouchResponse gives us the chart response. - BREAKING Chart touchResponse classes don't have
touchInput
andclickHappened
properties anymore. Use FlTouchEvent provided in the callback instead oftouchInput
. Checkevent is FlTapUpEvent
to detect touch events instead of checkingclickHappened
; - IMPROVEMENT Again we support
longPress
touch events. check FlTouchEvent to see all kind of supported touch/pointer events (which can beFlLongPressStart
,FlLongPressMoveUpdate
,FlLongPressEnd
, ...). Also you can check out touch handling doc, #649. - IMPROVEMENT Added
mouseCursorResolver
callback in touchData classes such as LineTouchData and BarTouchData. You can change the MouseCursor based on the provided FlTouchEvent and touchResponse using this callback. (We have used this feature in PieChartSample2) - BUGFIX Fixed
ScatterChart
default touchHandling crash - BUGFIX Fix text styles when updating the theme. Check this theme-aware-sample.
- IMPROVEMENT Show narrow horizontal and vertical grid lines by default.
- IMPROVEMENT Show all left, top (except BarChart), right, bottom titles in Axis based charts by default.
- IMPROVEMENT Set
BarChartAlignment.spaceEvenly
asalignment
property of BarChartData by default - IMPROVEMENT Allow BarChart and LineChart have empty values instead of throwing exception (we don't show anything if there is nothing provided)
- BREAKING
textStyle
of ScatterTooltipItem is now nullable and optional.bottomMargin
is also optional (default is zero). So both are named parameters now. - IMPROVEMENT We improved touch precision of
ScatterChart
. - BUGFIX Fix overlapping last gridlines on border lines problem.
- NEWS Your donation motivates me to work more on the
fl_chart
and resolve more issues. Now you can buy me a coffee!
- IMPROVEMENT Added
borderSide
property in BarChartRodData and BarChartRodStackItem to draw strokes around each bar and rod stack items, #714. - IMPROVEMENT Now all textStyles are nullable and theme-aware by default, #269.
- BREAKING All
getTextStyles
callback now give you acontext
andvalue
(previously it was only avalue
). - BUGFIX Fixed
colorStops
calculation which used in gradient colors, #732.
- IMPROVEMENT Show proper error message when there is less than 3 RadarEntry in RadarChart, #694.
- IMPROVEMENT Added
borderSide
property in PieChartSectionData to draw strokes around each section, #606.
- IMPROVEMENT Support
onMouseExit
event in all charts. - IMPROVEMENT Add
rotateAngle
property in LineTouchTooltipData, BarTouchTooltipData, ScatterTouchTooltipData, #260, #679. - BUGFIX Fix PieChart section index problem, when there is a section with 0 value, #697.
- IMPROVEMENT Allow to set zero value on PieChartSectionData (we remove zero sections instead of crashing), #640.
- BUGFIX Fix NPE crash in our renderers touchCallback, #651.
- BUGFIX Fix line index problem in LineChart, #665. (It has appeared in
0.36.0
, we had to revert 2nd change of0.36.0
) - BREAKING Remove unused
lineIndex
property from (ShowingTooltipIndicators)[https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#showingtooltipindicators].
- BUGFIX Fixed bug of lerping FlSpot.nullSpot, #487.
- BUGFIX Fixed showing tooltip problem when animating chart, #647.
- BUGFIX Fixed RadarChart drawing problem, #627.
- IMPROVEMENT Now SideTitles.
interval
is working correctly in bottomTitles in the BarChart, #648. - BREAKING You should provide
spotsIndices
instead ofshowingSpots
in ShowingTooltipIndicators.
- IMPROVEMENT Added
children
property in the LineTooltipItem, BarTooltipItem and ScatterTooltipItem which accepts a list of TextSpan. It allows you to have more customized texts inside the tooltip. See BarChartSample1 and ScatterSample2, #72, #294. - IMPROVEMENT Added
getTouchLineStart
andgetTouchLineEnd
in LineTouchData to give more customizability over showing the touch lines. see SampleLineChart9. - IMPROVEMENT Enabled
sectionsSpace
in PieChart for the web. - IMPROVEMENT Added Makefile commands which makes it comfortable for verifying your code before push (It is related to contributors, red more about it in CONTRIBUTING.md).
- IMPROVEMENT Added
FlDotCrossPainter
which extendsFlDotPainter
to paint X marks on line chart spots. - IMPROVEMENT Added
textDirection
property in LineTooltipItem, BarTooltipItem and ScatterTooltipItem. It allows you to support rtl languages in tooltips. - IMPROVEMENT Added
textDirection
property in SideTitles class, #531. It allows you to support rtl languages in side titles. - IMPROVEMENT Added
textDirection
property in AxisTitles class. It allows you to support rtl languages in axis titles. - BUGFIX Fixed some bugs on drawing PieChart (for example when we have only one section), #582,
- BREAKING Border of pieChart now is hide by default (you can show it using
borderData: FlBorderData(show: true)
. - BREAKING You cannot set
0
value on PieChartSectionData.value anymore, instead remove it from list. - BREAKING Removed
fullHeightTouchLine
property from LineTouchData. Now you can have a full line with following snippet:
LineTouchData(
...
getTouchLineStart: (barData, index) => -double.infinity // default: from bottom,
getTouchLineEnd: (barData, index) => double.infinity //to top,
...
)
- [IMPROVEMENT] We now use RenderObject as our default drawing system. It brings a lot of stability. Such as size handling, hitTest handling (touches), and It makes us possible to paint Widgets inside our chart (It might fix #383, #556, #582, #584, #591).
- [IMPROVEMENT] Added Radar Chart Documentations
- [IMPROVEMENT] Added
textAlign
property in the BarTooltipItem, LineTooltipItem, and ScatterTooltipItem, default isTextAlign.center
. - [IMPROVEMENT] Added
direction
property in the BarTouchTooltipData, and LineTouchTooltipData to specify the position of the tooltip (can beauto
,top
,bottom
), default isauto
. - [IMPROVEMENT] Updated touch flow, we now use hitTest for handling touch and interactions.
- [IMPROVEMENT] Added 'clickHappened' property in all of our TouchResponses (such as LineTouchResponse, BarTouchResponse, ...), #210.
- [IMPROVEMENT] Added
swapAnimationCurve
property to all chart widgets which handles the built-in animation Curve, #436. - [BREAKING] Some properties in ScatterTouchResponse, and PieTouchResponse moved to a wrapper class, you need to access them through that wrapper class.
- [BREAKING] Renamed
tooltipBottomMargin
totooltipMargin
property in the BarTouchTooltipData, and LineTouchTooltipData - [Bugfix] Fixed
double.infinity
in PieChartData .centerSpaceRadius, #584.
- [BREAKING] We now support flutter version 2.0 (null-safety), check out the migration guide.
- [NEW_CHART] We have added RadarChart. Thanks to Payam Zahedi!
- [BREAKING] We have migrated our project to null-safety. You may need to change your source-code to compile. check migration guide.
- [BREAKING] You cannot set null value on FlSpot any more (use FlSpot.nullSpot instead).
- [Bugfix] Fixed PieChart exception bug on sections tap, #514.
- [Bugfix] Fixed PieChart badges problem, #538.
- [Bugfix] Fixed Bug of drawing lines with strokeWidth zero, #558.
- [Improvement] Updated example app to support web.
- [Improvement] Show tooltips on mouse hover on Web, and Desktop.
- [Bugfix] Fixed PieChart badges draw in first frame problem, #513.
- [Improvement] Use CanvasWrapper to proxy draw functions (It does not have any effect on the result, it makes the code testable)
- [Bugfix] Fixed PieChart badges bug with re-implementing the solution, #507
- [Bugfix] Fix the setState issue using PieChart in the ListView, #467
- [Bugfix] Fixed formatNumber bug for negative numbers, #486.
- [Improvement] Added applyCutOffY property in BarAreaSpotsLine to inherit cutOffY property of its parent, #478.
- [Improvement] [BREAKING] Replaced
color
property withcolors
in BarChartRodData, and BackgroundBarChartRodData to support gradient in BarChart, instead of solid color, #166. Check BarChartSample3 - [Improvement] Improved gradient stops calculating algorithm.
- [Improvement] [BREAKING] Changed SideTitle's
textStyle
property togetTextStyles
getter (it gives you the axis value, and you must return a TextStyle based on it), It helps you to have a different style for specific text, #439. Check it here LineChartSample3 - [Improvement] Added
badgeWidget
, andbadgePositionPercentageOffset
in each PieChartSectionData to provide a widget to show in the chart, see this sample, #443. Providing a widget is an important step in our library, if it works perfectly, we will aplly this solution on other parts. Then I appreciate any feedback. - [Bugfix] Fixed aboveBarArea flickers after setState, #440.
- [Bugfix] Fixed drawing BarChart rods with providing minY (for positive), maxY (for negative) values bug, #404.
- [Bugfix] Fixed example app build fail error, by upgrading flutter_svg package to
0.18.1
- [Bugfix] Prevent show ScatterSpot if show is false, #385.
- [Improvement] Set default centerSpaceRadius to double.infinity in PieChartData, #384.
- [Improvement] Allowed to have topTitles in the BarChart, see BarChartSample5, #394.
- [Improvement] Added
touchedStackItem
andtouchedStackItemIndex
properties in the BarTouchedSpot to determine in which BarChartRodStackItem click happened, #393. - [Improvement] [BREAKING] Renamed
rodStackItem
torodStackItems
in BarChartRodData.
- [Improvement] Show barGroups
x
value instead ofindex
in bottom titles, #342. - [Improvement] [BREAKING] Use
double.infinity
instead ofdouble.nan
for lettingenterSpaceRadius
be as large as possible in the (PieChartData)[https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/pie_chart.md#piechartdata], #377. - [Bugfix] Fixed PieChart bug with 1 section, #368.
- [IMPORTANT] BLACK LIVES MATTER
- [Improvement] Auto calculate interval in SideTitles and FlGridData, instead of hard coding 1, to prevent some performance issues like #101, #322. see BarChartSample4.
- [Bugfix] drawing dot on null spots
- [Bugfix] Fixed LineChart have multiple NULL spot bug.
- [Feature] Added
checkToShowTitle
property to the SideTitles, for checking show or not show titles in the provided value, #331. see LineChartSample8. - [Feature] Added compatibily to have customized shapes for FlDotData, just override
FlDotData.etDotPainter
and pass your own painter or use built-in ones, see this sample. - [Improvement] [BREAKING] Replaced
clipToBorder
withclipData
in LineChartData to support clipping 4 sides of a chart separately.
- [Bugfix] Fixed showing PieChart on web (we've ignored
groupSpace
on web, because some BlendModes are not working yet)
- [BugFix] Fixed groupBarsPosition exception, #313.
- [Improvement] Shadows default off, #316.
- [Feature] Added
shadow
property in LineChartData to have shadow effect in our LineChart, take a look at LineChartSampl5, #304. - [Feature] Added
isStepLineChart
, andlineChartStepData
in the LineChartData to support Step Line Chart, take a look at lineChartSample3, #303. - [Improvement] Added
barData
parameter to checkToShowDot Function in the FlDotData.
- Added
strokeWidth
,getStrokeColor
,getDotColor
in the FlDotData, also removeddotColor
from it (you should usegetDotColor
instead, it gives you more customizability), now we have more customizability on FlDotData, check line_chart_sample3, and line_chart_sample5, #233, #99, #274. - Added
equatable
library to solve some equation issues. - Implemented negative values feature for the BarChart, #106, #103.
- add Equatable for all models, it leads to have a better performance.
- Fixed a minor touch bug in the BarChart.
- Fixed ScatterChart built-in touch behaviour.
- Fixed drawing grid lines bug, #280.
- Implemented FlDotData.
getDotColor
in a proper way, it returns a color based on the LineChartBarData color, #274, #282. - Updated LineChartData.
showingTooltipIndicators
field type to list of ShowingTooltipIndicators to have a clean naming.
- Added
show
property in theVerticalLineLabel
and set default tofalse
, #256. - Fixed bug, when the screen size is square, #258.
- Fixed exception on extraLinesData, #251.
- Show extra lines value with 1 floating-point.
- Implemented multi-section lines in LineChart, check this issue (#26) and this merge request (#252)
- Added
fitInsideHorizontally
andfitInsideVertically
in ScatterTouchTooltipData - Fixed
clipToBorder
functionality basdd on the border sides.
- Improved documentations
- Added
preventCurveOvershootingThreshold
inLineChartBarData
for applying prevent overshooting algorithm, #193. - Fixed
clipToBorder
bug in the LineChartData, #228, #214. - Removed unused
enableNormalTouch
property from all charts TouchData. - Implemented ImageAnnotations feature (added
image
, andsizedPicture
in the VerticalLine, and the HorizontalLine, check this sample for more information. - Enable 'fitInsideTheChart' to support vertical tooltip overflow as well, #225.
- BREAKING CHANGE-> changed
fitInsideTheChart
tofitInsideHorizontally
and addedfitInsideVertically
to support both sides, #225.
- prevent to set BorderRadius with numbers larger than (width / 2), fixed #200.
- added
fitInsideTheChart
property insideBarTouchTooltipData
andLineTouchTooltipData
to force tooltip draw inside the chart (shift it to the chart), fixed #159.
- added
fullHeightTouchLine
in LineTouchData to show a full height touch line, see sample in merge request #208. - added
label
(HorizontalLineLabel) inside HorizontalLine and VerticalLine to show a lable text on the lines.
- yaaay, added some basic unit tests
- skipped the first and the last grid lines from drawing, #174.
- prevent to draw touchedSpotDot if
show
is false, #180. - improved paint order, more details in #175.
- added possibility to set
double.nan
incenterSpaceRadius
for the PieChart to let it to be calculated according to the view size, fixed #179.
- added functionallity to have dashed lines, in everywhere we draw line, there should be a property called
dashArray
(for example check LineChartBarData, and see LineChartSample8) - BREAKING CHANGE:
- swapped HorizontalExtraLines, and VerticalExtraLines functionalities (now it has a well definition)
- and also removed
showVerticalLines
, andshowHorizontalLines
from ExtraLinesData, if thehorizontalLines
, orverticalLines
is empty we don't show them
- added rangeAnnotations in the LineChartData to show range annotations, #163.
- removed
isRound
fiend in the BarChartRodData to add more customizability, and fixed #147 bug. - fixed sever bug of click on pie chart, #146.
- Fixed drawing borddr bug, #143.
- Respect text scale factor when drawing text.
- added
axisTitleData
field to all axis base charts (Line, Bar, Scatter) to show the axes titles, see LineChartSample4 and LineChartSample5.
- added
betweenBarsData
property in LineChartData, fixed #93.
- fixed calculating size for handling touches bug, #126
- added
rotateAngle
property to rotate the SideTitles, fixed issue #75 , see in this sample - BREAKING CHANGES:
- some property names updated in the FlGridData:
drawHorizontalGrid
->drawHorizontalLine
,getDrawingHorizontalGridLine
->getDrawingHorizontalLine
,checkToShowHorizontalGrid
->checkToShowHorizontalLine
(and same for vertical properties), fixed issue #92
- drawing titles using targetData instead of animating data, fixed issue #130.
- prevent to show touch indicators if barData.show is false in LineChart, #125.
- 💥 Added ScatterChart (read about it) 💥
- Added Velocity to in FlPanEnd to determine the Tap event.
- fixed a size bug, #100.
- direction support for gradient on the LineChart (added
gradientFrom
andgradientTo
in the LineChartBarData).
- implemented stacked bar chart, check the samples
- added `groupSpace in BarChartData to apply space between bar groups
- fixed drawing left and right titles of the BarChart
- fixed showing gridLines bug (the grid line of exact max value of each direction doesn't show)
- fixed handling disabled
handleBuiltInTouches
state bug
- BIG BREAKING CHANGES
- There is no
FlChart
class anymore, instead use LineChart, BarChart, and PieChart directly as a widget. - Touch handling system is improved and for sure we have some changes, there is no
touchedResultSink
anymore and usetouchCallback
function which is added to each TouchData like (LineTouchData), read more. TouchTooltipData
class insideLineTouchData
andBarTouchData
renamed toLineTouchTooltipData
andBarTouchTooltipData
respectively, and alsoTooltipItem
class renamed toLineTooltipItem
andBarTooltipItem
.spots
insideLineTouchResponse
renamed tolineBarSpots
and type changed fromLineTouchedSpot
toLineBarSpot
.FlTouchNormapInput
renamed toFlTouchNormalInput
(fixed typo)- added
showingTooltipIndicators
in LineChartData to show manually tooltips inLineChart
. - added
showingIndicators
in LineChartBarData to show manually indicators inLineChart
. - added
showingTooltipIndicators
in BarChartGroupData to show manually tooltips inBarChart
.
- BREAKING CHANGES
- swapped horizontal and vertical semantics in FlGridData, fixed this issue.
- BREAKING CHANGES
- added support for drawing below and above areas separately in LineChart
- added cutOffY feature in LineChart, see this issue
- added
aboveBarData
in LineChartBarData BelowBarData
class renamed to BarAreaData to reuse for both above and below areasbelowSpotsLine
renamed tospotsLine
in BarAreaDatacutOffY
andapplyCutOffY
fields are added in BarAreaData to handle cutting of drawing below or above areaBelowSpotsLine
renamed to BarAreaSpotsLine, and inside itcheckToShowSpotBelowLine
renamed tocheckToShowSpotLine
- provided default size (square with 30% smaller than screen) for the FLChart, fixed this issue.
- added
interval
field in SideTitles, fixed this issue
- 💥 Added Animations 💥, read about it.
- fixed a typo on CHANGELOG
- reformatted dart files with
flutter format
command
- fixed #64, added a technical debt :(
- fixed a critical got stuck in draw loop bug,
- set
BarChartGroupData
x as required property to keep consistency and prevent unpredictable bugs
- added
enableNormalTouch
property to chart's TouchData to handle normal taps, and enabled by default.
- reverted getPixelY() on axis_chart_painter to solve the regression bug (fixed issue #48)
- (fix) BelowBar considers its own color stops refs #46
- bugfix -> fixed draw bug on BarChart when y value is very low in high scale y values (#43).
- added
SideTitles
class to hold titles representation data, and used inFlTitlesData
to show left, top, right, bottom titles, instead of legacy direct parameters, and implemented a reversed chart sample using this update.
- added
preventCurveOverShooting
on BarData, check this issue
- nothing important
- added Touch Interactivity, read more about it here
- added backgroundColor to axis based charts (LineChart, BarChart) to draw a solid background color behind the chart
- added getDrawingHorizontalGridLine, getDrawingVerticalGridLine on FlGridData to determine how(color, strokeWidth) the grid lines should be drawn with the given value on FlGridLine
- added ExtraLinesData in the LineChartData to draw extra horizontal and vertical lines on LineChart
- added BelowSpotsLine in the BlowBarData to draw lines from spot to the bottom of chart on LineChart
- fixed charts repainting bug, #16
- added clipToBorder to the LineChartData to clip the drawing to the border, #3
- fixed bug of adding bar with y = 0 on bar chart #13
- renamed
FlChartWidget
toFlChart
(our main widget) and now you have to importpackage:fl_chart/fl_chart.dart
instead ofpackage:fl_chart/fl_chart_widget.dart
- renamed
FlChart*
toBaseChart*
(parent class of our charts likePieChart
) - renamed
FlAxisChart*
toAxisChart*
- fixed
minX
,maxX
functionality on LineChart - restricted to access private classes of the library