You are creating a new figure every time you use the widget. For this to work you have to reuse the existing figure. The interaction between the notebook backend and widgets is not perfect but https://gist.github.com/jenshnielsen/20d9bf3fa40b309ad865
should work. For it to work the widget needs to be defined in a different cell from the figure.