我找到了这两个答案: ipython notebook 中的动画图, 如何在 ipython notebook 中将 matplotlib 图作为 html 抓取?
但它们不涉及交互性。我想显示一个带有 2-3 条曲线的图,并让用户悬停这些曲线以接收更多详细信息或控制用于从组合框生成这些曲线的参数
我找到了这两个答案: ipython notebook 中的动画图, 如何在 ipython notebook 中将 matplotlib 图作为 html 抓取?
但它们不涉及交互性。我想显示一个带有 2-3 条曲线的图,并让用户悬停这些曲线以接收更多详细信息或控制用于从组合框生成这些曲线的参数
在iPython检查以下答案: Manipulate-like command 。
以及以下两个方向:
interact/ive
中激发IPython - 软件的属性以及它们如何影响我们的工作 - Brian Granger接近 32m:12s;可在IPython 的 github获得您可能想查看Plotly。他们在 IPython Notebooks 中渲染交互式 D3 绘图(此处的示例。您也可以导出为静态图像,并在悬停时缩放、悬停、平移和查看文本。交互性是他们强调的重点之一。更多信息,您还可以在 Notebook 中使用IPython 小部件,这为您提供了更多控制和选项。例如:
像@AFoglia 一样,我将建议您可能正在寻找的其他库:Tangle、Mathematica Notebooks、IPython / Bokeh、RactiveJS或ReactJS。
另一个解决方案可能是Charts库。它使您能够使用出色的Highcharts javascript 库来制作开箱即用的精美交互式绘图。
一些特点:
免责声明:我是图书馆的开发者
您可以直接从 IPython 笔记本(%%html
和%%javascript
)运行 javascript,因此应该可以运行D3代码。检查这个视频。实现这一点的确切方式尚未确定,因为这是 IPython 2.0 的一个特性。到目前为止,有许多可用的 hack,以及尝试将 D3 的某些特性移植到 Python 的项目(例如bokeh和python-nvd3)。
我还没有测试过这些。我自己的偏见是首先尝试下面的示例,它是静态的,但直接使用 D3(因此理论上它应该适用于交互式绘图):
这里的其他答案似乎已经过时了。IPython 2.0 支持交互式小部件。阅读包含一些示例的文档,但请注意 nbviewer.ipython.org 不显示交互式小部件。将示例复制并粘贴到try.jupyter.org作品中。