Hi,
Here's the idea, click a legend to turn the referenced chart off ( by changing the isVisible property), click again to turn it on.
I tried it in onLegendTapped and it works.
Though, when a chart is turned off, I hope it's legend change to a customizable color like grey instead of white, and still show it's title, is that possible?
Hi Zhu,
We are validating your query and trying to create a feasible workaround for your requirement, and we need time on this we will update the status in one business day on 27 January 2023. We appreciate your patience until then.
Regards,
Yuvaraj.
Hi, Yuvaraj,
Great, that sounds good.
Regards,
Zhu
Hi Zhu,
Thanks for your patience.
Your requirement can be achieved with the help of the legendItemBuilder property in the legend, which is used to render a custom widget instead of an actual legend. Here we have rendered a custom shape widget with a series color and changed the color of the widget based on the series visibility. We have shared the sample below for your requirement, you can modify the sample as per your requirement.
Screenshot:
Regards,
Yuvaraj.
Hi, Yuvaraj,
There's an issue that in legendItemBuilder, the legend text color would change when seriesVisibility is turned off, that works well when background color is white, but not in other colors.
Is there an internal logic doing that? what to do to control the color all by myself?
Best Regards,
Zhu
Hi Zhu,
We are checking your query and trying to create a feasible workaround for your requirement, and we need time on this we will update the status in one business day on 3 February 2023. We appreciate your patience until then.
Regards,
Yuvaraj.
Hi Zhu,
We have created a sample with the help of the legendItemBuilder property and wrapped the custom legend with GestureDetector and handled the legend icon color and series visibility change in its onTap callback. We have shared the sample below for your reference, you can modify it as per your requirements.
Screenshot:
Regards,
Yuvaraj
Hi, Yuvaraj,
Thanks for the sample, though, seems there's a copy mistake that in attached zip file the main.dart being the one created by flutter automatically.
Regards,
Zhu
Hi Zhu,
We apologize for the inconvenience. We have shared the correct sample below for your requirement. Please check and get back to us if you have any further queries.
Regards,
Yuvaraj.
Hi, Yuvaraj,
I did a test on the sample provided, it do work, though, it redraws the whole chart each time pressing the legend button, seems not be a perfect solution.
As I think, the internal logic of this feature should be changed to apply to different background colors, is that possible?
Regards,
Zhu
Hi Zhu,
Currently we are checking the feasible workaround for your requirement and will update the complete details on February 13, 2023. We appreciate your patience until then.
Regards,
Lavanya A.
Hi, Lavanya A,
That sounds great, thank you.
Regards,
Zhu
Hi Zhu,
We are still checking for a feasible workaround for your requirement and will update the further details on February 14, 2023. We appreciate your patience until then.
Regards,
Yuvaraj.
Hi Zhu,
We couldn't able to find a feasible solution to update the chart without rebuilding it. In a workaround sample, we are disabling the ability to toggle the legend items by setting toggleSeriesVisibility to false in the legend. This prevents the legend toggle, but we can get the respective series index of the tapped legend in the onLegendTapped callback. Based on that information, we update the legend icon and the visibility of the series by calling setState, which rebuild the chart.
If you have any further queries please get back to us.
Regards,
Yuvaraj.
Hi, Yuvaraj,
I understand you have to keep compatibility with old versions, that's fine.
Thanks for the help.
Regards,
Zhu
Hi Zhu,
Thanks for the update. If you have any further queries please get back to us. We are always happy to assist you.
Regards,
Yuvaraj.