the chart widget will probably be nested in a dataview.
In that case, add the button in the dataview, call a microflow, pass the dataview object and refresh the object in the microflow.
You can click a button to refresh a data view that is around your chart widget. Refreshing the context will trigger a reload of your data source microflow
calling the microflow will not work,
you need to refresh the data source again, to do that you either have to reload the page, or (if i am not wrong) to refresh the object parent to the datasource.
for example if you have an object Account that contain a dataview with a source microflow that retrieve an object company, on click on a button, you just have to put the action refresh in client to the object account, that should refresh also the datasource company