如果您要做的只是从内联图切换到交互式图,然后再切换回去(以便可以平移/缩放),则最好使用%matplotlib magic。
#interactive plotting in separate window
%matplotlib qt
然后返回html
#normal charts inside notebooks
%matplotlib inline
%pylab magic会导入很多其他内容,甚至可能导致冲突。它执行“从pylab导入*”。
您还可以使用新的笔记本后端(在matplotlib 1.4中添加):
#interactive charts inside notebooks, matplotlib 1.4+
%matplotlib notebook
如果您想在图表中增加交互性,可以查看mpld3和bokeh。mpld3很棒,如果您没有大量数据点(例如<5k +),并且您想要使用普通的matplotlib语法,但与%matplotlib notebook相比,则具有更多的交互性。Bokeh可以处理大量数据,但是您需要学习它的语法,因为它是一个单独的库。
你也可以签出pivottablejs(pip installivottablejs)
from pivottablejs import pivot_ui
pivot_ui(df)
不管是多么酷的交互式数据探索,它都完全会破坏可重复性。它发生在我身上,所以一旦我感觉到数据,我就尝试只在早期就使用它,并切换到纯内联matplotlib / seaborn。