- Added
onLeftPress
andonRightPress
props to Population charts. See Abhinandan-Kushwaha#855 - Fix BarChart crash when maxValue is 0. Thanks to sakisdog for the PR- Abhinandan-Kushwaha/gifted-charts-core#55
- Added 185 screenshot tests to avoid regressions and make the library pixel perfect. See https://abhinandan-kushwaha.github.io/TestingCharts/ss-test/test.html
- Added animation to bar charts when the width of bar changes, earlier animation worked only on height change.
- Fixed the issue- Crash on passing empty data to Bar charts. See Abhinandan-Kushwaha#851
- Fixed the issue- Line & area charts with
pointerConfig
blink whenanimateOnDataChange
is true. See Abhinandan-Kushwaha#849 - Fixed the issue-
animateOnDataChange
does not work when yAxisOffset is set. See Abhinandan-Kushwaha#853 - Fixed the issue- Right side y-Axis not working in
<LineChartBiColor>
. See Abhinandan-Kushwaha#847 - Fixed all issues with yAxisSide='right' and secondary Y-axis alignment. Wrote thorough screenshot tests relates to Axes and labels.
Fixed the x-axis alignment issue for animated gradient Bar charts when using xAxisLabelsVerticalShift
. Also fixed the extra space at bottom when using xAxisLabelsVerticalShift
.
See Abhinandan-Kushwaha#842
Added the properties dynamicLegendComponent
and dynamicLegendContainerStyle
inside the pointerConfig object.
dynamicLegendComponent is a property inside the pointerConfig prop, very similar to pointerLabelComponent
, the only difference is that it is stationary whereas pointerLabelComponent moves as the pointer moves. You can set the position of the dynamicLegendComponent using the dynamicLegendContainerStyle
property inside pointerConfig
You are supposed to assign a callback function to dynamicLegendComponent. The callback function receives 2 parameters-
- Array of currently selected items (in case you are rendering a single line, the array will have a single item)
- Index of the selected item.
Note: The legend component appears only as long as the pointer remains remains on the screen. To make the dynamic legend remain persistently on the screen, you can set the persistPointer
property to true. The initialPointerIndex
property can also be useful.
-
Fixed the issue-
autoShiftLabels
not working properly. See https://gifted-charts.web.app/barchart/#xAxisShift -
Fixed the issue- "Bar alignment issue when using the
labelsExtraHeight
prop." See Abhinandan-Kushwaha#839
-
Fixed the issue- "onPress pressing/focusing wrong Pie section". It fixes these issues-
- Abhinandan-Kushwaha#832
- Abhinandan-Kushwaha#297
- Abhinandan-Kushwaha#812
As a part of this fix, removedonLabelPress
which is still there in types, but will not be functional. Will try to restore it in future.
-
Fixed the issue- "Line charts crash if data is an empty array." See Abhinandan-Kushwaha#707
Fixed the issue- "Line chart inside Bar chart misaligned if data contains -ve values"
-
Fixed the issue- "Line charts crashing with error
Cannot read property 'isSecondary' of null
. See Abhinandan-Kushwaha#831 -
Fixed the issue- "Animations not working for Line charts. See Abhinandan-Kushwaha#833"
Fixed the issue- "secondary Y-axis offset is not getting considered in the Line chart rendered inside Bar chart using showLine
and lineConfig = {{ isSecondary: true }}
."
-
Added support for secondary Bars using the property
isSecondary: true
inside the objects of data array. Available in both Bar and Stacked bar charts. See Abhinandan-Kushwaha#828
Also, removed the redundantsecondaryData
prop from Bar charts. -
Auto-compute the params for the secondary Y-axis based on the secondary data range. Applicable for both Bar and Line/Area charts.
These features were implemented with a considerable amount of refactor which I hope will fix several issues related to secondary data and negative secondary Y axis.
-
Added the prop
extrapolateMissingValues
to Line and Area charts to enable/disable the extrapolation of nullish values at the start and end of the chart. The default value ofextrapolateMissingValues
is true.
Note that extrapolation will not work ifinterpolateMissingValues
is set to false. Extrapolation works only if interpolation is enabled. See Abhinandan-Kushwaha#821 -
Added the feature to auto scale the Y-axis and auto compute the value of
roundToDigits
based on the range of values in the data or dataSet. See Abhinandan-Kushwaha#825
-
Fixed the issue- "Y-Axis is not showing the labels correctly if we use the prop
yAxisLabelTexts
and have only one Y-axis (primary or secondary) with a negative value." See Abhinandan-Kushwaha#814 (comment) -
Fixed the issue- "null value in pointerLabelComponent inside pointerConfig". The pointer label was having undefined value for a few milliseconds after unfocus. See Abhinandan-Kushwaha#752
-
Fixed the issue- Data line is being rendered a little below the x-axis. See Abhinandan-Kushwaha#824 (reply in thread)
-
Fixed the issue- Secondary Y-axis labels misaligned for negative part (4th quadrant) and
yAxisLabelTexts
not working properly in the Secondary Y-axis. See Abhinandan-Kushwaha#814 (comment) -
Fixed the issue- app crashes with interpolateMissingValues=false and areaChart=true. See Abhinandan-Kushwaha#805
-
Fixed the issue- topLabel component not displayed for animated stacked Bar charts. See Abhinandan-Kushwaha#813
-
Fixed the issue- Line in Bar chart not shifted downwards in case the Bar chart has negative values too. See Abhinandan-Kushwaha#814
-
Fixed the issue- Secondary Y axis labels incorrect when
yAxisLabelTexts
prop is used. See Abhinandan-Kushwaha#814 -
Fixed the issue- If both the first and the last pie sections are on pole, then the external labels overlap. See Abhinandan-Kushwaha#806 (comment)
-
Fixed the issue- Pattern inside Bars not displayed. See software-mansion/react-native-svg#2437 (comment)
-
Fixed the issue- animation not working for simple 2d Bar charts.
-
Pointer lines will now be displayed in both positive and negative values of the Line and Area charts (1st and 4th quadrant). See Abhinandan-Kushwaha#799
-
Added the property
avoidOverlappingOfLabels
to the proplabelLineConfig
for Pie and donut charts. The default being true, it auto shifts overlapping external labels in Pie charts rendered usingshowExternalLabels
andexternalLabelComponent
. See Abhinandan-Kushwaha#801 Note: Only the labels overlapping near the poles (at the top and bottom) will be auto-shifted. Auto-shifting can be disabled by settingavoidOverlappingOfLabels: false
inside thelabelLineConfig
object.
-
Fixed the issue- Vertical lines displayed using the
showVerticalLines
prop are incomplete in Bar and Line charts when run on web (using Expo). See Abhinandan-Kushwaha#794 -
Fixed the issue- Line chart is shifted up and some data cannot be displayed (on web using Expo). See Abhinandan-Kushwaha#778
-
Fixed the issue- Focused section always getting the color of the 1st section on web (using Expo) See Abhinandan-Kushwaha#800 (comment)
animateOnDataChange
now works evevn if the lehgth of data array is changed. Earlier it worked for data changes with same length and threw error on changing the length of data array.
See- Abhinandan-Kushwaha#791
This is solved by adding dummy points to the data having lesser number of points. Dummy points are added carefully using the pointsWithPaddedRepititions
util function from gifted-charts-core.
-
The prop
topLabelTextStyle
now works for stacked Bar charts just like it used to work for simple Bar charts. See Abhinandan-Kushwaha#446 (comment) -
Secondary Y axis with negative values in secondary data or dataSet with
isSecondary: true
sets are now supported. Independent height, stepHeight, stepValue, mostNegativeValue, noOfSectionsBelowXAxis for primary and secondary Y-axes below origin supported.
Fixed the issue- Negative steps and values in in second y axis are incorrect position. See Abhinandan-Kushwaha#775
-
Removed unnecessary interpolation for animations in Line charts.
-
Passed
containerHeightIncludingBelowXAxis
to therenderChartContent
method from theBarAndLineChartsWrapper
component. This will ensure a consistent value of containerHeightIncludingBelowXAxis. -
Updated the util (
maxAndMinUtil
) to compute the value ofminItem
in case ofroundToDigits:true
in gifted-charts-core. -
Moved the computation of below variables from
getHorizSectionVals
touseBarAndLineChartsWrapper
in gifted-charts-core.- secondaryMaxItem
- secondaryMinItem
- secondaryStepValue
- secondaryNegativeStepValue
- secondaryNoOfSectionsBelowXAxis
-
Added the prop
referenceLinesOverChartContent
to Line and Area charts (earlier available for Bar charts only). See Abhinandan-Kushwaha#761 -
Added support for external Labels in Pie and Donut charts. See Abhinandan-Kushwaha#763
It uses the below props-showExternalLabels
(boolean)labelLineConfig
(object of LabelLineConfig type)externalLabelComponent
(svg component for label, a callback function with 2 parameters- item and index)
The labelLineConfig
prop is an object of LabelLineConfig
type described below-
type LabelLineConfig = {
length?: number; // default 10
tailLength?: number; // default 8
color?: ColorValue; // default 'black'
thickness?: number; // default 1
labelComponentWidth?: number; // default 20
labelComponentHeight?: number; // default 10
labelComponentMargin?: number; // default 4
};
Renamed the extraRadiusForFocused
to extraRadius
in Pie and Donut charts.
Accidentally pushed with a minor bug. Don't use this version!! Use 1.4.28
or newer versions.
Added the property hidePointers
to the objects of the dataSet
array. This will let us hide the pointers for individual sets.
Also, we can now add the property hidePointer
inside individual data items of any dataSet.
See Abhinandan-Kushwaha#755
- Fixed the issue-
areaChart
given in dataSet array of line chart doesn't work. See Abhinandan-Kushwaha#758 - Fixed the issue- Crash when I click to datapoint doesn't have any value. See Abhinandan-Kushwaha#757
Added the prop intersectionAreaConfig
that defines properties for intersection area of data and data2 (1st & 2nd areas). See https://stackoverflow.com/questions/78435388/react-native-area-chart
Fixed the issue- pointerLabelComponent
's second parameter (representing secondaryItem) is undefined. See Abhinandan-Kushwaha#752
Reused activatePointers
function, thus removing many lines of repetitive code in the LineChart component.
-
Line charts can now have data arrays of different lengths. This means that data, data2, data3 don't need to be of same length. Same applies to the sets of dataSet.
-
Added the prop
labelWidth
to stacked Bar charts. Thanks to Nathan Karmer for his PR- Abhinandan-Kushwaha#748
-
Fixed the issue- Datapoint in secondary lines are incorrect position in pointerConfig. See Abhinandan-Kushwaha#749
-
Fixed the issue- Data points visible even if an area chart is hidded under some other area chart.
-
Fixed the issue- Crash due to replacing
findLastIndex
withslice().reverse().findIndex
in gifted-charts-core. I was reversing only the array and forgot to reverse the index. Thanks to dumihi313 for his PR- Abhinandan-Kushwaha/gifted-charts-core#37
-
Added
pointerIndex
to the parameter list ofpointerLabelComponent
. This will help conditionally format the pointerLabelComponent based on pointerIndex.
pointerLabelComponent
now accepts 3 parameters-items
,secondaryDataItem
andpointerIndex
. One use case would be to position the first and last pointerLabelComponents such that they don't overflow the chart area.
See https://stackoverflow.com/questions/78472182/changer-pointerlable-style-on-a-certain-index-in-react-native-gifted-chart-linec -
Refactored the
animateOnDataChange
for Line and Area charts to make the animation smooth.animateOnDataChange
is now suppported for curved charts as well! See https://stackoverflow.com/questions/78546970/react-native-gifted-charts-not-animating-on-data-change
In gifted-charts-core, replaced findLastIndex()
with slice().reverse().findIndex()
.
See the issue- Abhinandan-Kushwaha/gifted-charts-core#31 and its fix PR- Abhinandan-Kushwaha/gifted-charts-core#33
- Added the prop
verticalLinesStrokeLinecap
to Bar and Line charts that takes the values'butt'
,'round'
and'square'
('butt'
being the default). See thestroke-linecap
property in svg.
The library now ships js binary obtained after compiling using babel. This should fix all typescript
issues like these-
- Abhinandan-Kushwaha#722
- Abhinandan-Kushwaha#691
- Abhinandan-Kushwaha#651
- Abhinandan-Kushwaha#625
- Abhinandan-Kushwaha#546
- Abhinandan-Kushwaha#473
Note: Since we are now shipping compiled js, you may need to install the gifted-charts-core dependency.
Accidentally pushed the build folder (dist) without type declarations. Don't use this version!! Use 1.4.22
or newer versions.
Added the following properties in the lineConfig
prop for Bar charts (to control the line rendered inside Bar charts using the showLine
prop) -
focusEnabled?: boolean;
focusedDataPointColor?: ColorValue;
focusedDataPointRadius?: number;
focusedDataPointIndex?: number;
- Added the prop
stripStrokeDashArray
to support dotted and dashed vertical strips in Line and Area charts. See Abhinandan-Kushwaha#611 - Added the properties
barBorderWidth
andbarBorderColor
to data items in Bar charts. Earlier these properties could only be passed directly as props. But now, they can be passed to individual data items as well. See Abhinandan-Kushwaha#580
- Fixed the issue- Y-axis indices are not properly aligned with rule lines. See Abhinandan-Kushwaha#577
- Added the prop
secondaryXAxis
to render an additional X axis at the top of the chart.
The labels to be displayed along the secondary X-axis can be passed in these 2 ways-
- Through the property named
secondaryLabel
in the data array - Through the property named
labelTexts
in thesecondaryXAxis
prop.
The secondaryXAxis
props accepts an object of the following type-
XAxisConfig {
thickness?: number
color?: ColorValue
labelsDistanceFromXaxis?: number
labelsHeight?: number
labelsTextStyle?: any
labelTexts?: string[]
}
- Added the properties
secondaryLabel
,secondaryLabelComponent
andsecondaryLabelTextStyle
to the data items of Bar and Line charts.
- Fixed the issue- Bar chart does not update on changing data values. (Only animated Bar charts used to update). See Abhinandan-Kushwaha#643
-
Added the prop
autoCenterTooltip
to auto-center the tooltip for Bar charts. See Abhinandan-Kushwaha#713 -
Added the prop
nestedScrollEnabled
to Bar and Line charts. It is useful when the chart is used inside a horizontal ScrollView as without this, the chart's scrolling is compromised. Thanks to Guilherme Pellegrini Coelho for his PR Abhinandan-Kushwaha#640 -
Added the props
onChartAreaPress
andonBackgroundPress
for Line and Area charts. See Abhinandan-Kushwaha#634
-
Fixed the issue- Line chart crashing when using
dataSet
andpointerConfig
together. See Abhinandan-Kushwaha#708 -
Fixed the issue- Values in
pointerLabelComponent
are wrong when usingyAxisOffset
. See Abhinandan-Kushwaha#645 -
Fixed the issue "A props object containing a "key" prop is being spread into JSX" (in react 18.3 onwards) See Abhinandan-Kushwaha#646
-
Fixed the issue- Horizontal bar tooltip not rotated. See Abhinandan-Kushwaha#672
-
Fixed the issue- In secoundry Y-axis, hideOrigin doesn't work correctly (hides the top Y-label instead of bottom) See Abhinandan-Kushwaha#704
-
Fixed the issue- LineChart does not recognize sectionColors parameter. See Abhinandan-Kushwaha#715
- Added the prop
focusedPieIndex
to Pie charts used to set initially focused pie and to override the focus behaviour ononPress
. See Abhinandan-Kushwaha#702
-
Fixed the issue- Line inside Bar chart with secondary y-axis is misaligned. Fix taken from this patch-package. See Abhinandan-Kushwaha#543
-
Fixed the issue- When using LineChart with specifying both dataSet and pointerConfig, "Cannot read property 'value' of undefined" error occurs. See Abhinandan-Kushwaha#673
-
Fixed the issue- y-axis labels misaligned for right-side y-axis when passing an
endSpacing
value. Fixed this by rectifying the calculation oftotalWidth
in gifted-charts-core.
-
Added the props
negativeStepValue
andnegativeStepHeight
to control the value and height of 1 step/section in the Y axis for negative values (in the 4th quadrant). See Abhinandan-Kushwaha#686 (Supported in both- Bar and Line charts, but currently functional in Bar charts only) -
Added the prop
sectionColors
to set the background color of the horizontal sections of the chart. It is an array of ColorValues (or strings denoting colors). So, each section can have a different background color now. See Abhinandan-Kushwaha#547
- Fixed the issue- y-axis gets distorted for large negative values. Y-axis below origin will now have adequate number of sections instead of the default 10 sections. See Abhinandan-Kushwaha#685
- Fixed the issue- Bars slightly below the rules. See Abhinandan-Kushwaha#670 (comment) (Issue was there only in non-gradient Bar chart)
- Added the prop
focusedBarIndex
to Bar charts used to set initially focused bar and to override the focus behaviour ononPress
. See Abhinandan-Kushwaha#675 - Added the prop
labelsDistanceFromXaxis
to shift the X-axis labels vertically up or down from their original position (that is just below the x axis). This prop will be very useful in case of Stacked Bar charts having both +ve and -ve values in the same stack. See Abhinandan-Kushwaha#678 - Added the prop
autoShiftLabelsForNegativeStacks
to stacked Bar charts and its default value istrue
. It is used to decide whether the X-axis labels should appear just under the negative bar (in case of Stacked Bar charts having both +ve and -ve values in the same stack), or whether they all should appear in one single line. See Abhinandan-Kushwaha#678
- Fixed the issue- Y-axis under the X-axis has one less section than expected. See Abhinandan-Kushwaha#676
- Added the prop
focusedDataPointIndex
to Line charts used to set initially focused data point and to override the focus behaviour ononFocus
. See Abhinandan-Kushwaha#680
- Fixed the issue- data points getting cropped in non-scrollable fixed width Line and Area charts. See- Abhinandan-Kushwaha#623 and Abhinandan-Kushwaha#681
- Fixed the issue- yAxisLabelTexts not working (showing NaN as labels) See Abhinandan-Kushwaha#22 (comment)
Accidental release, please don't use this version.
- Added the props
adjustToWidth
andparentWidth
to Bar chart. See Abhinandan-Kushwaha#660 - Added the prop
showDataPointLabelOnFocus
to Line / Area charts to show dataPointLabel (tooltip) on the focused data point. See Abhinandan-Kushwaha#664
- Fixed the issue- Bar chart with pointerConfig breaks with negative values. See Abhinandan-Kushwaha#654
- Fixed the issue- When using dataSet, only one pointer is displayed on the line chart. Also added the prop
pointerColorsForDataSet
. See Abhinandan-Kushwaha#610 - Fixed issue with pointers on secondary data line not displaying at proper position (earlier they were all displayed at x-axis)
- Removed the wrong prop name
pieInnerComponent
in PieChartPro and replaced it with the correct name-centerLabelComponent
Added the prop onMomentumScrollEnd
to Bar and Line charts. It can be used to fire an event when scroll is completed. See Abhinandan-Kushwaha#601
-
Added support for multiple lines corresponding to secondary y-axis. Now we can add the property
isSecondary
inside the objects of thedataSet
array. When using isSecondary, make sure to pass thesecondaryYAxis
prop. See Abhinandan-Kushwaha#586 -
Added support for
ring
Pie charts. Just pass the propring
in the<PieChartPro>
component to make a ring like Pie chart. See Abhinandan-Kushwaha#584 -
Added support for
pieInnerComponent
to<PieChartPro>
Animation in Pie and donut charts using the <PieChartPro>
component. See Abhinandan-Kushwaha#555
Curved paths (border-radius) in donut sections supported using the <PieChartPro>
component. See Abhinandan-Kushwaha#554
Support for expo gradient, thanks to onyx-flame for his PR Abhinandan-Kushwaha#571
- refactors and adjustments related to xAxisThickness and yAxisOffset. See Abhinandan-Kushwaha#574
- Fixed the issue -
animateOnDataChange
skipping the initial render, thus rendering an empty chart. See Abhinandan-Kushwaha#537 - Fixed the issue -
yAxisOffset
not working withdataSet
in Line (and Area) charts.
- Added the properties
shiftTextBackgroundX
andshiftTextBackgroundY
to data items of Pie (and donut) charts. If we passshiftTextX
, the background will also shift (because the library assigns a default value of shiftTextBackgroundX = shiftTextX). This can be overridden by manually passing shiftTextBackgroundX. Same applies toshiftTextBackgroundY
- Fixed the issue- "shiftTextX not working to focused section of the Pie (and donut) charts" Thanks to YASH-TRONX for his PR Abhinandan-Kushwaha#534
- Fixed the issue- line inside Bar (combined chart) getting cropped from right side in case of secondary See Abhinandan-Kushwaha#532 This actually got fixed in the core library (version 0.0.16). Here I just had to use the latest version of gifted-charts-core
- Added the prop
onScroll
to Bar, Stacked Bar, Line and Area charts. It is a callback function that takes event as a parameter. - Added the props
paddingHorizontal
andpaddingVertical
to Pie (and Donut) charts. This will be useful to accomodate "onBorder" labels. See Abhinandan-Kushwaha#528
Fixed issue with barInnerComponent
for Bar charts that don't have gradient. See Abhinandan-Kushwaha#500 (comment)
Added the prop onPressOut
to Bar and Stacked Bar charts. See Abhinandan-Kushwaha#523
Fixed issue with noOfSectionsBelowXAxis
not taking the value 0 for Line charts. See Abhinandan-Kushwaha#526
- Added
interpolation
to Line charts. These props can be used to control interpolation-interpolateMissingValues
,showDataPointsForMissingValues
andonlyPositive
. See Interpolation in Line chart docs - Added
BEFORE_DATA_POINT
toEdgePosition
enum for step charts, and renamed theAT_DATA_POINT
EdgePosition toAFTER_DATA_POINT
. The default EdgePosition isAFTER_DATA_POINT
.
- Fixed the issue- "topLabelComponent not visible for bar charts". See Abhinandan-Kushwaha#519
- Fixed RTL issue in pagination. Thanks to Houssem-Eddine Kellou for his PR Abhinandan-Kushwaha/gifted-charts-core#3
Added the props focusBarOnPress
and focusedBarConfig
to Bar charts. Using these, we can focus or highlight a bar on press. See Abhinandan-Kushwaha#512
- Fixed issues with
stepValue
,noOfSections
andmaxValue
. See Abhinandan-Kushwaha#511 - Fixed issue with pagination, (isCloseToStart not returning true) PR Abhinandan-Kushwaha/gifted-charts-core#2 by Houssem-Eddine Kellou
Moved gifted-charts-core
to dependency and put the 3rd party libraries into devDependency. PR Abhinandan-Kushwaha#514 by Armon Raphiel
Exported ruleTypes
which was missed in version 1.4.0
📣 This release contains a huge refactor. 🔨 We have now moved most of the logic and maths (including utils, constatnts and types) to our newly launched library named gifted-charts-core
This helped in-
- Segragating UI and logic
- Modularity and code re-usability
- We are very soon going to launch a library for web named
react-gifted-charts
❤️ With this we will be able to render charts in react using exactly the same code we use in react-native-gifted-charts!
This huge refactor might have introduced some bugs. Please bear with us.🙏
To avoid this in future mega releases, I am going to add thorough tests in the next release.
We will soon release version 2.0 after adding all types and unit tests for each component!!
-
Added support for Pagination using the props
onEndReached
,onStartReached
andendReachedOffset
. Thanks to Houssem-Eddine Kellou who added this feature through his PR- Abhinandan-Kushwaha#504. Pagination is now supported for Bar, Stack, Line and Area charts! -
Added the prop
onLongPress
to Bar and Stacked Bar charts. See Abhinandan-Kushwaha#506
-
Added the prop
barInnerComponent
to Bar and Stacked Bar charts.barInnerComponent
can also be passed as a property inside the data items. See Abhinandan-Kushwaha#500 -
Added the prop
pieInnerComponent
to Pie and Donut charts.pieInnerComponent
can also be passed as a property inside the data items. See Abhinandan-Kushwaha#500 -
Exported the following types from
react-native-gifted-charts
-
- barDataItem
- stackDataItem
- BarChartPropsType
- StackedBarChartPropsType
- pieDataItem
- PieChartPropsType
- lineDataItem
- bicolorLineDataItem
- LineChartPropsType
- LineChartBicolorPropsType
- popnPyramidDataItem
- PopulationPyramidPropsType
- Moved types to
'.\types.ts
files for each type of chart and gave proper names to types.
🐛 Minor bug fixes with initialSpacing
for Line inside Bar charts (combined Bar and Line charts).
-
Fixed issue with onPress not working on elements just above the chart. See Abhinandan-Kushwaha#497
It was an issue with the of the chart overflowing and overlapping in case stepHeight was large. -
Fixed the issue-
showStripOnFocus
: height of strip becomes smaller when usingoverflowTop
.
- Fixed issue with
pointerEvent value: box-none
in Pie charts. See Abhinandan-Kushwaha#491 and Abhinandan-Kushwaha#472 - Fixed issue with
data3
anddata4
in Line charts. See Abhinandan-Kushwaha#490 - Fixed issue- strip not visible for Line and Area charts having
pointerConfig
withpointerLabelComponent
.
- Added support for Population Pyramid charts!! See Population Pyramid props
- Pointer labels will now be rendered on top of the rest of the chart content. Earlier, reference lines sometimes used to appear over the pointer lables, this has been fixed now.
- Added the prop
referenceLinesOverChartContent
for Bar charts.
- Fixed the issue- LineChart having a single data item and using the prop
adjustToWidth
caused crashes. See Abhinandan-Kushwaha#484 - Fixed issue with data point label getting cropperd. See Abhinandan-Kushwaha#486
- Fixed the issue- Reference line overlapping the tooltip. See Abhinandan-Kushwaha#476
🐛 Minor bug fixes with pointerEvents
in Pie charts and yAxisExtraHeight
with pointerLabelComponent
in Bar and Line charts. See Abhinandan-Kushwaha#472 and Abhinandan-Kushwaha#467 (comment)
- Added support for mix of positive + negative values in Stacked Bar charts. Thanks to Christoph who added this feature through his PR- Abhinandan-Kushwaha#470
- Added the prop
yAxisExtraHeight
for extra length of Y axis at the top. Default value is 1/20th of the chart height. - Added the prop
inwardExtraLengthForFocused
. This allows us to render donut charts whose focused section grows inwards. See Abhinandan-Kushwaha#325
- Earlier, charts used to have an extra length of Y axis equal to
sectionHeight/2
at the top. Due to this, charts' height used to change along withsectionHeight
. Fixed this by making the default value ofyAxisExtraHeight
to a constant value which equals 1/20th of the chart height. See Abhinandan-Kushwaha#467 - Fixed the issue with
getPointerProps
which threw a warning -Cannot update a component (xxx) while rendering a different component (yyy)
. See facebook/react#22633
🐛 Minor bug fixes with stripΒehindBars
and initialPointerIndex
for Bar charts. See Abhinandan-Kushwaha#410 (comment) and Abhinandan-Kushwaha#410 (comment)
-
Added the property
zIndex
toreferenceLine1Config
,referenceLine2Config
andreferenceLine3Config
. See Abhinandan-Kushwaha#310 -
Added
stripBehindBars
property topointerConfig
for Bar charts. See Abhinandan-Kushwaha#410 (comment) -
Added the
trimYAxisAtTop
prop for Bar and Line charts. See Abhinandan-Kushwaha#461 -
showValuesAsTopLabel
now shows the sum of stack item values at top of each stack. See Abhinandan-Kushwaha#446 -
Added the property
resetPointerOnDataChange
topointerConfig
for Line charts. The default value ofresetPointerOnDataChange
is true. See Abhinandan-Kushwaha#456
-
Fixed issue with
overflowTop
. See Abhinandan-Kushwaha#453 (comment) -
Fixed issue with
stackBorderRadius
. See Abhinandan-Kushwaha#354 (comment) and Abhinandan-Kushwaha#354 (comment)
-
Added
pointerConfig
support to Stacked Bar charts. -
Added
barBorderWidth
andbarBorderColor
to Bar charts. -
Added separate
spacing
for Line charts inside BarCharts. The line rendered in a Bar chart can have its ownspacing
value independent from the spacing of the bars. It can be set using thespacing
property in thelineConfig
object. -
Added these props to apply border radius to Stacked Bar charts-
- stackBorderRadius
- stackBorderTopLeftRadius
- stackBorderTopRightRadius
- stackBorderBottomLeftRadius
- stackBorderBottomRightRadius
- Fixed the issue - initial pointer appearing at top for the second data line. See Abhinandan-Kushwaha#453
Merged ThreeDBar
and AnimatedBar
codes to make a single file named AnimatedThreeDBar
-
Added the props-
showValuesAsTopLabel
,topLabelContainerStyle
andtopLabelTextStyle
to Bar charts. See Abhinandan-Kushwaha#99 (comment) -
Added the prop
highlightedRange
to render the parts of lines lying in a given data range with a different style (color, thickness,type). See https://stackoverflow.com/questions/70406903/different-colors-line-chart-with-react-native-chart-kit
type HighlightedRange = {
from: number;
to: number;
color?: string | ColorValue;
thickness?: number;
strokeDashArray?: Array<number>;
};
- Added the property
pointerEvents
to thepointerConfig
object. If you have a Pressable / Touchable item in yourpointerLabelComponent
, then you should setpointerEvents
to 'auto' inside the pointerConfig object. See Abhinandan-Kushwaha#447
- Fixed the issue - Unwanted Spacing below the charts.See Abhinandan-Kushwaha#448
- Added support for dynamic number of lines with the help of the
dataSet
prop. We can now pass an array of data instead of usingdata
,data2
,data3
etc. - Added property
formatYLabel
to thesecondaryYAxis
, so we can now format the labels of the secondary Y-Axis usingformatYLabel
. See Abhinandan-Kushwaha#442
- Fixed issue with Pie charts having all zero values. See Abhinandan-Kushwaha#443
- Added support for line segments in Line and Area charts. See Abhinandan-Kushwaha#432 (comment)
- Added support for 2 line charts inside Bar chart using the
lineData2
andlineConfig2
props. See Abhinandan-Kushwaha#440
- Fixed issue with step chart edge position. Added a prop named
edgePosition
. See Abhinandan-Kushwaha#438
-
Added support for Step charts. To render a step chart, just pass the prop
stepChart
to the<LineChart>
component.
See Abhinandan-Kushwaha#438 -
Added the properties-
initialPointerIndex
,initialPointerAppearDelay
, andpersistPointer
to thepointerConfig
object. See Abhinandan-Kushwaha#427 -
Added support for customizing individual / specific rules in charts using the prop
rulesConfigArray
. See Abhinandan-Kushwaha#432 (comment) -
Added 2 new props-
xAxisLabelsHeight
andxAxisLabelsVerticalShift
. Here's a brief description of the use case of these props-
The height of X axis labels container is computed automatically. Sometimes you may need to explicitly provide the height of X-axis labels container. An example case is when the font size of label texts is large. Use the `xAxisLabelsHeight`` prop if the labels appear cropped from bottom.
Note- Using the xAxisLabelsHeight
prop may shift the X axis labels up or down, making the label text overlap with the chart content. In such a case you can use the `xAxisLabelsVerticalShift`` prop to adjust the vertical position of X axis labels.
-
Fixed issue- Pie charts get distorted when one value is non-zero and rest values are zero. See Abhinandan-Kushwaha#436
-
Fixed issue with programmatically changing focus does in Pie and Donut charts. See Abhinandan-Kushwaha#428
🐛 A minor bug fix. See Abhinandan-Kushwaha#422 (comment)
🐛 A minor bug fix. See Abhinandan-Kushwaha#424
- Added support for Multicolor Line charts. See Abhinandan-Kushwaha#251
These props will help to render multicolor line-
lineGradient?: boolean;
lineGradientComponent?: () => any;
lineGradientId?: string;
lineGradientDirection?: string;
lineGradientStartColor?: string;
lineGradientEndColor?: string;
- Added support for custom gradient in area charts using the props
areaGradientComponent
andareaGradientId
- Fixed issue- pointerConfig on Bar chart was jaggy
- Added the
formatYLabel
prop. The user can now pass a callback function that takes the label generated by the library and modifies it. The modified label returned by the callback function will be finally rendered along the Y-axis. See Abhinandan-Kushwaha#22
- Fixed the issue where tooltip was not rendered in Bar charts that use
showLine
prop. Also, bars were not clickable withshowLine
andlineBehindBars={false}
. See Abhinandan-Kushwaha#411
- Added pointerConfig behaviour to Bar charts. See Abhinandan-Kushwaha#410
- Fixed issue with
pointerConfig
. See Abhinandan-Kushwaha#177 - Added types to util functions. See Abhinandan-Kushwaha#379
- Fixed some typescript issues. See Abhinandan-Kushwaha#269 (comment)
- Fixed issue with the 4th curve of curved area charts. See Abhinandan-Kushwaha#402
- Fixed Abhinandan-Kushwaha#406
Fixed issue where a zero value was omitted in Pie chart. See Abhinandan-Kushwaha#401
focusedDataPointLabelComponent
now appears above other UI elements, as it is now given a zIndex of 1000. See Abhinandan-Kushwaha#396- Fixed issue with the position of verticalLines when
hideYAxisText
is set to true.
- replaced
JSON.parse(JSON.stringify())
with custom deepClone method (added in utils). It fixed this issue- Abhinandan-Kushwaha#397
- Added the property named
isSecondary
in thelineConfig
object see Abhinandan-Kushwaha#392 - Replaced the prop
verticalLinesType
withverticalLinesStrokeDashArray
Fixed issue with secondary Y axis position (it was shifting towards right earlier)
- Added the prop
scrollEventThrottle
(only for iOS) see https://reactnative.dev/docs/scrollview#scrolleventthrottle-ios - default value is 0 - exposed secondaryDataItem in pointerLabelComponent see Abhinandan-Kushwaha#388
Fixed issue with adjustToWidth
(Now if you pass the adjustToWidth
prop, your chart will take the screen width automatically)
- secondary Y axis for charts with negative values
- Line chart inside stacked bar chart
minValue
is now renamed to mostNegativeValue
to avoid confusion
- Fixed issue with
roundToDigits
for Y axis labels. Now we add trailing 0s after decimal point if needed. So if the Y axis label is 1.5 and we haveroundToDigits={2}
, then the label rendered will be 1.50 - Fixed Y axis label issue which displayed NaN as a label when we used
yAxisOffset
andyAxisLabelTexts
props together.
🐛 Minor bug fixes
Added the secondaryYAxis
prop to render a secondary Y axis on the right side of the chart. Earliear we were able to render the Y axis either on the left or on the right side, not both.
In addition to data2, data3, etc, now we have the secondaryData
prop. This is done to reference the second line to the secondary Y axis.
In Bar, Line and Area charts, we can access the ScrollView using the scrollRef
prop. You just need to create a ref using React.useRef() and pass it into the scrollRef prop. The most common use of scrollRef is to scroll to a given position, and to fire the scroll on an event like a button press.
In Bar, Line and Area charts, we can scroll to any given index using the scrollToIndex
prop.
To render a horizontal Bar chart from right to left, pass the rtl
prop along with the horizontal
prop.
Now, we support 2 types of curves-
- Cubic bezier curve
- Quadratic bezier curve
The default curveType is cubiz bezier curve. To change it to quadratic, pass the prop curveType={CurveType.QUADRATIC}
curvature
takes a value between 0 and 1. The default curvature value is 0.2
curvature works only for cubic bezier curves. When curvature value is 0, the curve becomes straight line.
In Line and area charts, we can pass the showValuesAsDataPointsText
prop to display the value of the data points.
The isAnimated
prop is now supported in stacked bar charts.
Similar to the initialSpacing
we now have a prop named endSpacing
as well.
Similar to the overflowTop
we now have a prop named overflowBottom
as well, but it makes sense only for line and area charts. It gives extra space at the bottom of the chart to make room for dataPoints or dataPointText.
The library used to break when used in an expo project. This was perhaps due to version conflicts in react-native-svg. We have now moved both react-native-svg
and react-native-linear-gradient
to peer dependencies. This should hopefully fix the issues with expo.
autoAdjustPointerLabelPosition
is now false by default. This should make the Area and Line charts with pointerConfig smooth on Android.