apgapg / pie_chart Goto Github PK
View Code? Open in Web Editor NEWFlutter Pie chart with animation
Home Page: https://pub.dev/packages/pie_chart
License: MIT License
Flutter Pie chart with animation
Home Page: https://pub.dev/packages/pie_chart
License: MIT License
Hi
Its a very good library, but I am stuck where I will have a percentage of value is less than 10 %
It's working absolutely fine above 10% or guide me on how to show the percentage outside with the line
Add border property so that only pie charts without any data to start with is just invisible.
an added border to show the border of the circle would be nice.
When displaying percentage values in the graph, I would like to display the absolute values in the legend.
Would therefore be nice if there is an (optional) formatting function to generate a custom legend text from the data map entry.
(This might also be useful to dynamically abbreviate long legend texts.)
Is there anyways to add a gradient to the colors?
The label now is displayed vertically. It is possible to displayed horizontally?
I want change the legend position to top, and displayed the label horizontally.
Thanks.
Would be great if you could click on a piece of the pie or on a label and receive a notification of which of the values the click corresponds to.
This package should be migrated to null safety so that other apps and packages depending on it can (more easily) migrate to null safety as well.
Do you have any plans for this?
Thanks.
Related links:
https://dart.dev/null-safety/migration-guide
https://www.youtube.com/watch?v=bvq7wbn4VAA&ab_channel=Flutter
Hello All ,
In My piechart the chart data labels are currently being showned as "3.0" , i need them to be showed as "3" only
i tried changing the data type of DataMap from <String,double> to <String,int> but it seems the constructor
PieChart(dataMap: dataMap) only accepts <String,double>
am i missing anything?
The divider is not straight. it is tilted somewhat. initial angle is 0.
After updated to 4.0.1
, where should I defined those parameters? Thanks.
decimalPlaces: 1,
showChartValueLabel: true,
Can legend position be costomized?
Such as under the chart
I get this error
../../flutter_linux_v1.5.4-hotfix.2-stable.tar%20(1)/flutter/.pub-cache/hosted/pub.dartlang.org/pie_chart-3.1.1/lib/src/chart_painter.dart:41:38: Error: The method 'getColor' isn't defined for the class 'PieChartPainter'.
- 'PieChartPainter' is from 'package:pie_chart/src/chart_painter.dart' ('../../flutter_linux_v1.5.4-hotfix.2-stable.tar%20(1)/flutter/.pub-cache/hosted/pub.dartlang.org/pie_chart-3.1.1/lib/src/chart_painter.dart').
Try correcting the name to the name of an existing method, or defining a method named 'getColor'.
final paint = Paint()..color = getColor(colorList, i);
^^^^^^^^
Target kernel_snapshot failed: Exception: Errors during snapshot creation: null
build failed.
Is it possible?
it stills hows text inside
current workaround is
chartValueStyle: defaultChartValueStyle.copyWith(
color: Colors.transparent,
),
the version on pub.dev seems out of date.
It seems for the ChartType.ring
, chartRadius
is calculated for the inner ring, so for a thick ringStrokeWidth
the ring overlaps/overflows to the neighbouring widgets. I think the chartRadius
should be calculated for the outer radius of the ring so that it stays withing its space.
I/flutter (30917): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ I/flutter (30917): The following NoSuchMethodError was thrown building PieChart(dirty, state: I/flutter (30917): _PieChartState#f7d87(ticker active)): I/flutter (30917): The method 'toDouble' was called on null. I/flutter (30917): Receiver: null I/flutter (30917): Tried calling: toDouble() I/flutter (30917): I/flutter (30917): When the exception was thrown, this was the stack: I/flutter (30917): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:50:5) I/flutter (30917): #1 double.+ (dart:core-patch/double.dart:17:23) I/flutter (30917): #2 new PieChartPainter (package:pie_chart/pie_chart.dart:214:21) I/flutter (30917): #3 _PieChartState.build (package:pie_chart/pie_chart.dart:112:28) I/flutter (30917): #4 StatefulElement.build (package:flutter/src/widgets/framework.dart:3825:27) I/flutter (30917): #5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3739:15) I/flutter (30917): #6 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #7 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #8 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11) I/flutter (30917): #9 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #10 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #11 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #12 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14) I/flutter (30917): #13 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #14 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #15 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #16 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #17 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #18 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #19 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #20 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #21 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #22 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #23 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #24 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #25 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #26 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #27 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #28 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #29 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #30 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #31 ParentDataElement.mount (package:flutter/src/widgets/framework.dart:4063:11) I/flutter (30917): #32 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #33 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4982:32) I/flutter (30917): #34 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #35 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #36 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #37 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #38 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #39 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11) I/flutter (30917): #40 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #41 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #42 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #43 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #44 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #45 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #46 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #47 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #48 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #49 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #50 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #51 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #52 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11) I/flutter (30917): #53 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #54 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #55 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #56 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14) I/flutter (30917): #57 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #58 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #59 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #60 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #61 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #62 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #63 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #64 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #65 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14) I/flutter (30917): #66 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #67 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #68 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #69 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #70 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #71 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11) I/flutter (30917): #72 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #73 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #74 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #75 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #76 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #77 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #78 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11) I/flutter (30917): #79 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #80 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #81 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #82 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #83 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #84 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #85 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #86 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #87 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #88 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #89 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #90 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #91 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #92 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #93 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #94 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #95 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #96 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #97 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11) I/flutter (30917): #98 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #99 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #100 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #101 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #102 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #103 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #104 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11) I/flutter (30917): #105 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #106 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #107 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #108 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14) I/flutter (30917): #109 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #110 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #111 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #112 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #113 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #114 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #115 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #116 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #117 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14) I/flutter (30917): #118 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #119 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #120 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14) I/flutter (30917): #121 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #122 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #123 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14) I/flutter (30917): #124 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #125 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #126 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14) I/flutter (30917): #127 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #128 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #129 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #130 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #131 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #132 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11) I/flutter (30917): #133 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #134 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #135 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #136 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #137 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #138 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #139 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #140 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #141 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #142 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): 2 I/flutter (30917): 3 I/flutter (30917): 2.0 I/flutter (30917): 3.0 I/flutter (30917): #143 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #144 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #145 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11) I/flutter (30917): #146 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #147 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #148 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #149 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14) I/flutter (30917): #150 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #151 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #152 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #153 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #154 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #155 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #156 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #157 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #158 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14) I/flutter (30917): #159 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #160 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #161 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #162 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #163 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #164 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11) I/flutter (30917): #165 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #166 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #167 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #168 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #169 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #170 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #171 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #172 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #173 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #174 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14) I/flutter (30917): #175 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #176 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #177 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #178 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #179 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #180 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #181 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #182 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #183 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #184 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #185 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #186 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11) I/flutter (30917): #187 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #188 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #189 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #190 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #191 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #192 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3722:5) I/flutter (30917): #193 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11) I/flutter (30917): #194 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3717:5) I/flutter (30917): #195 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2961:14) I/flutter (30917): #196 Element.updateChild (package:flutter/src/widgets/framework.dart:2764:12) I/flutter (30917): #197 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4659:32) I/flutter (30917): #198 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4992:17) I/flutter (30917): #199 Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) I/flutter (30917): #200 _TheatreElement.update (package:flutter/src/widgets/overlay.dart:607:16) I/flutter (30917): #201 Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) I/flutter (30917): #202 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #203 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #204 StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5) I/flutter (30917): #205 Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) I/flutter (30917): #206 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #207 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #208 ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) I/flutter (30917): #209 Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) I/flutter (30917): #210 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14) I/flutter (30917): #211 Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) I/flutter (30917): #212 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #213 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #214 StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5) I/flutter (30917): #215 Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) I/flutter (30917): #216 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14) I/flutter (30917): #217 Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) I/flutter (30917): #218 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14) I/flutter (30917): #219 Element.updateChild (package:flutter/src/widgets/framework.dart:2753:15) I/flutter (30917): #220 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3750:16) I/flutter (30917): #221 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5) I/flutter (30917): #222 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2278:33) I/flutter (30917): #223 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:700:20) I/flutter (30917): #224 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:286:5) I/flutter (30917): #225 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1012:15) I/flutter (30917): #226 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:952:9) I/flutter (30917): #227 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:864:5) I/flutter (30917): #231 _invoke (dart:ui/hooks.dart:219:10) I/flutter (30917): #232 _drawFrame (dart:ui/hooks.dart:178:3) I/flutter (30917): (elided 3 frames from package dart:async) I/flutter (30917): ════════════════════════════════════════════════════════════════════════════════════════════════════ I/flutter (30917): Another exception was thrown: NoSuchMethodError: The method 'toDouble' was called on null. I/chatty (30917): uid=10656(com.example.mydb_todo) 1.ui identical 4 lines I/flutter (30917): Another exception was thrown: NoSuchMethodError: The method 'toDouble' was called on
null.``
Hi!
A few issues since upgrading from 2.0.0
Thanks for this great package. Hope you could get to fixing these issues soon.
The following assertion was thrown during paint():
RenderBox was not laid out: RenderViewport#bc66b NEEDS-PAINT
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1979 pos 12: 'hasSize'
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=2_bug.md
The relevant error-causing widget was:
ListView ListView:file:///C:/Users/akram/myapp/lib/presentation/history/History.dart:127:28
When the exception was thrown, this was the stack:
#2 RenderBox.size (package:flutter/src/rendering/box.dart:1979:12)
#3 RenderBox.paintBounds (package:flutter/src/rendering/box.dart:2617:41)
#4 PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:140:56)
#5 PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:100:5)
#6 PaintingContext._compositeChild (package:flutter/src/rendering/object.dart:198:7)
#7 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:185:7)
#8 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#9 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#10 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#11 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#12 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#13 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#14 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#15 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#16 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#17 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#18 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#19 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#20 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#21 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#22 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#23 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#24 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#25 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#26 RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2844:15)
#27 RenderFlex.paint (package:flutter/src/rendering/flex.dart:1078:7)
#28 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#29 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#30 RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2844:15)
#31 RenderCustomMultiChildLayoutBox.paint (package:flutter/src/rendering/custom_layout.dart:408:5)
#32 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#33 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#34 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#35 _RenderInkFeatures.paint (package:flutter/src/material/material.dart:598:11)
#36 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#37 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#38 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#39 PaintingContext.pushLayer (package:flutter/src/rendering/object.dart:387:12)
#40 RenderPhysicalModel.paint (package:flutter/src/rendering/proxy_box.dart:1951:15)
#41 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#42 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#43 RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2844:15)
#44 RenderCustomMultiChildLayoutBox.paint (package:flutter/src/rendering/custom_layout.dart:408:5)
#45 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#46 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#47 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#48 _RenderInkFeatures.paint (package:flutter/src/material/material.dart:598:11)
#49 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#50 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#51 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#52 PaintingContext.pushLayer (package:flutter/src/rendering/object.dart:387:12)
#53 RenderPhysicalModel.paint (package:flutter/src/rendering/proxy_box.dart:1951:15)
#54 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#55 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#56 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#57 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#58 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:13)
#59 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:140:15)
#60 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2477:7)
#61 PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:141:11)
#62 PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:100:5)
#63 PipelineOwner.flushPaint (package:flutter/src/rendering/object.dart:995:29)
#64 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:506:19)
#65 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:892:13)
#66 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:370:5)
#67 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1146:15)
#68 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1083:9)
#69 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:997:5)
#73 _invoke (dart:ui/hooks.dart:151:10)
#74 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:308:5)
#75 _drawFrame (dart:ui/hooks.dart:115:31)
(elided 5 frames from class _AssertionError and dart:async)
The following RenderObject was being processed when the exception was fired: RenderIgnorePointer#e186c relayoutBoundary=up10
... needs compositing
... parentData: <none> (can use size)
... constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)
... size: MISSING
... ignoring: false
... ignoringSemantics: false
RenderObject: RenderIgnorePointer#e186c relayoutBoundary=up10
needs compositing
parentData: <none> (can use size)
constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)
size: MISSING
ignoring: false
ignoringSemantics: false
... child: RenderViewport#bc66b NEEDS-PAINT
... needs compositing
... parentData: <none> (can use size)
... constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)
... layer: OffsetLayer#bfdde DETACHED
... handles: 1
... offset: Offset(0.0, 0.0)
... size: MISSING
... axisDirection: down
... crossAxisDirection: right
... offset: ScrollPositionWithSingleContext#f6624(offset: 0.0, range: null..null, viewport: null, ScrollableState, AlwaysScrollableScrollPhysics -> BouncingScrollPhysics -> RangeMaintainingScrollPhysics, IdleScrollActivity#30f36, ScrollDirection.idle)
... anchor: 0.0
... center child: RenderSliverPadding#fc714 NEEDS-LAYOUT NEEDS-PAINT
... parentData: paintOffset=Offset(0.0, 0.0)
... constraints: MISSING
... geometry: null
... padding: EdgeInsets.zero
... textDirection: ltr
... child: RenderSliverList#aefd6 NEEDS-LAYOUT NEEDS-PAINT
... parentData: paintOffset=Offset(0.0, 0.0)
... constraints: MISSING
... geometry: null
... no children current live
====================================================================================================
I used FutureBuilder to mock data from sqflite then build a PieChart.
My code like this:
new FutureBuilder<List<Map<String, dynamic>>>( future: db.getGroupData(), builder: (BuildContext context, AsyncSnapshot<List<Map<String, dynamic>>> snapshot) { if(snapshot.hasData) { return pieChartCard(context, snapshot.data); } else { return new CircularProgressIndicator(); } }, ),
And render function pieChartCard:
`Widget pieChartCard(BuildContext context, List<Map<String, dynamic>> data) {
Size size = MediaQuery.of(context).size;
Map<String, double> dataMap = new Map<String, double>();
data.forEach((item) => dataMap.putIfAbsent(item['tengroup'], () => item['Total'] + 0.0));
return new Column(
children: <Widget>[
new FlatButton(
onPressed: () => null,
child: new Text(
dataMap.length.toString(),
style: new TextStyle(
color: Colors.white,
fontWeight: FontWeight.w900,
fontSize: 25.0
),
),
),
new PieChart(
dataMap: dataMap,
legendFontColor: Colors.white,
legendFontSize: 14.0,
legendFontWeight: FontWeight.w500,
animationDuration: Duration(milliseconds: 800),
chartLegendSpacing: 32.0,
chartRadius: MediaQuery
.of(context)
.size
.width / 2.7,
showChartValuesInPercentage: true,
showChartValues: true,
chartValuesColor: Colors.blueGrey[900].withOpacity(0.9),
)
],
);
}`
When i insert a data from other Screen and then back to previous screen but pie chart was not changed. I also logged some script in render function and saw the data was changed.
My chart only change when i exit app and then open it again.
Please let me know how to fix it.
Thanks.
i already fixed it. how can i push it so you can merge it?
Can you add a spacing option for legends?
In Pie chart,
I would like to show a widget something like this as label:
Column(
children: [
Text('17.0 %'),
Text('June'),
],
I try the formatChartValues
but the return value is String
and is not a widget.
I am creating a transaction app where the pie chart data changes upon toggle of a button. The charts animate when the page initially opens. However on click of the toggle button, the pie gets updated with new data without any animation. Is that the intended behaviour?
Pie chart only show half if dataMap consists of only one value.
dataMap.putIfAbsent(
"Open",
() => (snapshot.data[0].abc.data
.toDouble()));
PieChart(
centerText: snapshot.data[0].totalNo.toString(),
dataMap: dataMap,
animationDuration: Duration(milliseconds: 800),
chartRadius: 200,
showChartValuesInPercentage: true,
showChartValues: true,
showChartValuesOutside: true,
chartValueBackgroundColor: Colors.grey[200],
colorList: colorList,
showLegends: true,
chartType: ChartType.ring,
)
Hi, absolutely loving this plugin for my workout app. Got the visual breakdown of what they train in like 5 minutes.
A nice feature might be a column view, where the pie chart is on top and the legend is below. This would allow each to be larger so I could use bigger fonts inside the pie chat.
Would it be possible to add a feature, when passing a map with only 0 values to display as a full chart but with an default color, e.g. light grey?
Other question, when can we expect the update with the number in the middle to be officially released? I am only waiting for that feature.
I need my chart as a Observable Widget but i dont know where to put the observer. I'm using Mobx to manage the state.
In Flutter 3, WidgetsBinding.instance
no longer requires a null safety check.
: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
../…/pie_chart/pie_chart.dart:42
- 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../../bin/flutter/packages/flutter/lib/src/widgets/binding.dart').
package:flutter/…/widgets/binding.dart:1
WidgetsBinding.instance?.addPostFrameCallback((_) {
As of now if there are a lot of segments in the chart the label values (in the pie) are cut by one another.
It would be great if there was an option to have outside labels something like:
https://google.github.io/charts/flutter/example/pie_charts/outside_label
Goodmorning,
I have custom colors i would love to send within the dataMap, is it possible to do this? Because i can read from your pie_chart.dart that you already specified a list of colors.
Greetings,
Jente
I’m changing the data but piechart still doesn’t change even i use the setState, how can i do it?
First thank you for your work. This is the easiest to use flutter chart plugin on pub!
Currently the piechart starts animating from the right side of the circle (from 3 o'clock).
Is it possible to set a starting angle from where the first slice will draw?
Like in the example image below, change "starting angle" from 90° -> 0°
Setting showChartValues
to false
has no effect, it still displays the chart values.
Steps to Reproduce
showChartValues
to false
.Expected Result
Chart values should not be displayed if showChartValues
is set to false
Actual Result
Chart values are still being displayed even if showChartValues
set to false
This option has no effect at all
Hi,
Thanks for this wonderful package.
Is it possibe to let us customize the centerText by providing textStyle option?
Otherwise, it's a very good and customizable package!
First of all great lib! good work!
I would like to request an option to omit zero values from the chart (not from the legend) as right now if some of the values are o it shows 0% between the other groups and it looks weird...
I have a ring chart, I've hidden all the legends but showed the center text. No matter what I do, the white background of this center text won't go away. Here's my code:
PieChart(
emptyColor: Colors.transparent,
key: ValueKey(1),
dataMap: <String, double>{
"prc_1": 50,
"prc2": 50,
},
animationDuration:
Duration(milliseconds: 800),
chartRadius:
MediaQuery.of(context).size.width /
3.2 >
300
? 300
: MediaQuery.of(context)
.size
.width /
3.2,
colorList: <Color>[
Colors.blue,
Colors.white
],
initialAngleInDegree: 270,
chartType: ChartType.ring,
centerText: 'Can we\nhave this\nwithout the\nwhite\nbackground',
centerTextStyle: TextStyle(
fontFamily: 'Overpass'),
legendOptions: LegendOptions(
showLegends: false,
),
chartValuesOptions: ChartValuesOptions(
showChartValues: false,
),
ringStrokeWidth: 7.5),
Goodmorning Apgapg,
I was wondering if you had any progress on this issue?
#4
Could really use it in the next couple of days, otherwise i have to use an different plugin..
Have a nice day,
Greetings,
SJente
pub get failed (1; Because flutter_app depends on pie_chart ^4.0.1 which doesn't match
any versions, version solving failed.)
pubspec.yaml
has dependency of pie_chart: ^5.0.0
pubspec.yaml
back to pie_chart: ^4.0.1
To reproduce the issue, run the following application:
main.dart
import 'package:flutter/material.dart';
import 'package:pie_chart/pie_chart.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
bool chartvisible = false;
void _showChart() {
setState(() {
chartvisible = !chartvisible;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: chartvisible
? PieChart(
dataMap: {
'unwatched': 25.0,
'watched': 75.0,
},
colorList: [
Colors.grey,
Colors.green,
],
chartValuesOptions:
ChartValuesOptions(showChartValues: false),
legendOptions: LegendOptions(
showLegends: false,
legendPosition: LegendPosition.right,
),
)
: Container()),
floatingActionButton: FloatingActionButton(
onPressed: _showChart,
child: Icon(Icons.add),
),
);
}
}
pubspec.yaml
name: piecharttest
description: A new Flutter project.
publish_to: 'none'
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
pie_chart: ^5.0.0
cupertino_icons: ^1.0.2
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
[√] Flutter (Channel stable, 2.0.1, on Microsoft Windows [Version 10.0.19042.867], locale en-US)
• Flutter version 2.0.1 at C:\development\flutter
• Framework revision c5a4b4029c (8 days ago), 2021-03-04 09:47:48 -0800
• Engine revision 40441def69
• Dart version 2.12.0
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
• Android SDK at C:\development\android-sdk
• Platform android-30, build-tools 30.0.2
• ANDROID_SDK_ROOT = C:\development\android-sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] VS Code (version 1.54.2)
• VS Code at C:\Users\josht\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.20.0
[√] Connected device (2 available)
• Chrome (web) • chrome • web-javascript • Google Chrome 88.0.4324.190
• Edge (web) • edge • web-javascript • Microsoft Edge 89.0.774.50
• No issues found!
Pie chart animates when drawn.
Pie chart doesn't animate when using pie_chart 5.0.0, but does animate when using 4.0.1.
Hi, is it possible to hide legends? I am displaying pie chart inside a row widget and I tried showLegends = false but i am getting 'Row's children must not contain any null value, but a null value was found at index 1' exception. Any idea?
this how i defined the pie chart map, when page load i want to set the values,0
Map<String, double> dataMap = {
"Income": 0,
"Expenditure": 0,
};
then on button press, i want update the chart value,
child: RaisedButton(
onPressed: () async {
setState(() {
Map<String, double> dataMap = {
"Income": 75,
"Expenditure": 25,
};
});
},
How to solve this issue?
It's convenient to have an ontap
method for the piechart leaves/legends, using which users can check detailed information about that particular section. For example, let's say the pie chart is showing different categories, and when the user taps on a specific leaf or its legend, the user can go to a new page and check that category in details
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.