【发布时间】:2013-07-03 05:24:50
【问题描述】:
我找到了这两个答案: Animated graphs in ipython notebook , How to grab matplotlib plot as html in ipython notebook?
但它们不涉及交互性。我想显示一个带有 2-3 条曲线的图,并让用户悬停这些曲线以接收更多详细信息或控制用于从组合框生成这些曲线的参数
【问题讨论】:
标签: ipython-notebook
我找到了这两个答案: Animated graphs in ipython notebook , How to grab matplotlib plot as html in ipython notebook?
但它们不涉及交互性。我想显示一个带有 2-3 条曲线的图,并让用户悬停这些曲线以接收更多详细信息或控制用于从组合框生成这些曲线的参数
【问题讨论】:
标签: ipython-notebook
在iPython: Manipulate-like command查看以下答案。
以及以下两个方向:
interact/ive 在 IPython - The Attributes ofSoftware and How They Affect Our Work - Brian Granger 附近 32m:12s;并在IPython's github
【讨论】:
%pylab inline 调用下方运行 mpld3.enable_notebook(),所有绘图都将变为交互式。不过可能会有点慢。
您可能想查看Plotly。他们在 IPython Notebooks 中渲染交互式 D3 绘图(示例 here。您也可以导出为静态图像,并在悬停时缩放、悬停、平移和查看文本。交互性是他们强调的重点之一。更多信息,你也可以在 Notebook 中使用IPython widgets,这样可以给你更多的控制和选择。例如:
【讨论】:
这里的其他答案似乎已经过时了。 IPython 2.0 支持交互式小部件。 Read the docs including some examples,但请注意 nbviewer.ipython.org 不显示交互式小部件。将示例复制并粘贴到try.jupyter.orgworks。
【讨论】:
另一个解决方案可能是Charts 库。它使您能够使用出色的 Highcharts javascript 库来制作开箱即用的精美交互式绘图。
一些功能:
免责声明:我是库的开发者
【讨论】:
您可以直接从 IPython 笔记本(%%html 和 %%javascript)运行 javascript,因此应该可以运行 D3 代码。检查此video。实现这一点的确切方式尚未确定,因为这是 IPython 2.0 的一个特性。目前有许多可用的 hack,以及尝试将 D3 的某些特性移植到 Python 的项目(例如 bokeh 和 python-nvd3)。
我还没有测试过这些。我自己的偏见是首先尝试下面的示例,它是静态的,但直接使用 D3(因此它应该理论上适用于交互式绘图):
【讨论】:
与@AFoglia 一样,我将推荐您可能正在寻找的其他库:Tangle、Mathematica Notebooks、IPython / Bokeh、RactiveJS 或ReactJS。
【讨论】: