Вставить графический график в документ Sphinx

Я попытался с помощью nbsphinx встроить блокнот Jupyter, содержащий сюжетные графики, но графики не отображаются в документации, даже если они хорошо смотрятся на блокноте Jupyter.

Как я могу встроить график в Sphinx документацию? Я мог бы включить их в качестве изображений, но есть ли лучший способ? Было бы неплохо иметь интерактивность!

Я хочу повторить эту страницу. Он имеет блокнот стиля Jupyter для блоков ввода-вывода и показывает интерактивные графики, созданные с использованием сюжета. Как я могу это сделать?

GitHub поднял вопрос здесь.

Ответ 1

Я вижу два решения для встраивания ячеек вашего ноутбука с графиками в документацию сфинкса.

  1. Преобразуйте записную книжку в html с помощью nbconvert или nbsphinx. Обязательно используйте средство рендеринга notebook, чтобы включить пакетный javascript-комплект (возможно, именно поэтому ваши данные не отображались): см. https://plot.ly/python/renderers/ документацию по графическим визуализаторам. Затем вы можете включить html в документ sphinx с различными решениями (см. Включение отдельной HTML-страницы в документ sphinx).
  2. Используйте sphinx-gallery (https://sphinx-gallery.github.io/) с ее графически скребком. С sphinx-gallery вы пишете свою страницу документа в виде скрипта Python, который преобразуется в остальные с помощью расширения sphinx-gallery sphinx. Для настройки скребка см. https://sphinx-gallery.github.io/advanced.html#integrate-custom-scrapers-with-sphinx-gallery. У нас также есть минимальный репозиторий, показывающий, как использовать plotly и sphinx-gallery вместе в https://github.com/plotly/plotly-sphinx-gallery.https://github.com/plotly/plotly-sphinx-gallery

Ответ 2

Сам график представляет собой HTML файл в блокноте jupyter. Вы можете открыть файл notebook.ipnb в любом текстовом редакторе, найти начало HTML-диаграммы, скопировать весь этот html файл в html файл и сохранить его, скажем a.html, а затем просто вставить необработанный html в документ RST.

.. raw:: 
    :file: a.html

Ответ 3

В Python вы можете сгенерировать HTML-код для встраивания графиков Plotly с помощью plotlot.tools.get_embed.

import plotly.tools as tls

tls.get_embed('https://plot.ly/~chris/1638')