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