And you can see that the output wasn't suppressed in the docs.

http://statsmodels.sourceforge.net/devel/examples/generated/example_interactions.html

The semi-colon is probably not the way to handle this. We should probably be catching the objects returned by matplotlib, but I ran into problems with the rendering of non-interactive plotting earlier last summer -- I can't recall what exactly, so I had to change them to interactive/pylab style like this.