One argument I can think of is separation of concerns.
In `RejectionSampler` you want to do computation.
But in e.g. `plot_rejectionsampler` function you want to display the results of computation. (Maybe it's possible for this method to be more generic, like `plot_sampling` or `plot_probability_distribution`).

Disclaimer: I come from web development, where we do try to separate layers doing computations and displaying them. If you still think your design is valid, go ahead with it!