It would be great if all “plot functions”, i.e. all functions that generate a matplotlib plots, returned the figure, so that is easy to save the figure.
If you don’t use fastai from a notebook but from within a script you have to save the plots one generates manually, e.g. save the lr_find plot or the data.show_batch plot. Currently that is not possible though.
I don’t know the best way without breaking the current API. In my plotting function I normally pass an axis object to the function (if the object is None the axis object is created in the function).
+10 to this. Every time I come across a package that makes plots and doesn’t return them I die a little inside. Perhaps there is a good reason not to do it, but I almost always inevitably want to manipulate something about the plots either for my own readability, further analysis, or to style them for publication.