It isn’t possible to update a component during a callback (i.e. update a progress bar while inside a callback that updates a graph). This might be available in the future if we we add web-socket support, but it isn’t possible now.
In the meantime, I recommend using a generic loading screen. If you know the maximum time that your function might take, then you could use a generic CSS progress bar that is timed to progress over that time. See 📣 Dash Loading States for a loading screen example.