选项 1:在您的 Jupyter Notebook 中使用 plotly 的离线功能(我想您正在使用您提供的链接中的 Jupyter Notebook)。您可以简单地将整个笔记本保存为 HTML 文件。当我这样做时,唯一的外部参考是 JQuery; plotly.js 将内联在 HTML 源代码中。
选项 2:最好的方法可能是直接针对 plotly 的 JavaScript 库进行编码。可以在此处找到相关文档:https://plot.ly/javascript/
更新:调用内部函数从来都不是一个好主意。我建议使用@Fermin Silva 给出的方法。在较新的版本中,现在还有一个专用功能:plotly.io.to_html(参见https://plotly.com/python-api-reference/generated/plotly.io.to_html.html)
Hacky Option 3(原版仅供参考):如果你真的想继续使用 Python,可以使用一些 hack 来提取它生成的 HTML。你需要一些最新版本的 plotly(我用plotly.__version__ == '1.9.6' 测试过)。现在,您可以使用内部函数来获取生成的 HTML:
from plotly.offline.offline import _plot_html
data_or_figure = [{"x": [1, 2, 3], "y": [3, 1, 6]}]
plot_html, plotdivid, width, height = _plot_html(
data_or_figure, False, "", True, '100%', 525)
print(plot_html)
您可以简单地将输出粘贴到 HTML 文档正文中的某个位置。只需确保在头部包含对 plotly 的引用:
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
或者,您还可以引用用于生成 HTML 或内联 JavaScript 源代码的确切 plotly 版本(这会删除任何外部依赖项;但请注意法律方面的问题)。
你最终会得到一些像这样的 HTML 代码:
<html>
<head>
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>
<body>
<!-- Output from the Python script above: -->
<div id="7979e646-13e6-4f44-8d32-d8effc3816df" style="height: 525; width: 100%;" class="plotly-graph-div"></div><script type="text/javascript">window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL="https://plot.ly";Plotly.newPlot("7979e646-13e6-4f44-8d32-d8effc3816df", [{"x": [1, 2, 3], "y": [3, 1, 6]}], {}, {"showLink": false, "linkText": ""})</script>
</body>
</html>
注意:函数名称开头的下划线表示_plot_html 不打算从外部代码调用。因此,此代码很可能会在未来版本的 plotly 中中断。