Вставить графический график в документ Sphinx
Я попытался с помощью nbsphinx встроить блокнот Jupyter, содержащий сюжетные графики, но графики не отображаются в документации, даже если они хорошо смотрятся на блокноте Jupyter.
Как я могу встроить график в Sphinx документацию? Я мог бы включить их в качестве изображений, но есть ли лучший способ? Было бы неплохо иметь интерактивность!
Я хочу повторить эту страницу. Он имеет блокнот стиля Jupyter для блоков ввода-вывода и показывает интерактивные графики, созданные с использованием сюжета. Как я могу это сделать?
GitHub поднял вопрос здесь.
Ответы
Ответ 1
Я вижу два решения для встраивания ячеек вашего ноутбука с графиками в документацию сфинкса.
- Преобразуйте записную книжку в html с помощью nbconvert или nbsphinx. Обязательно используйте средство рендеринга
notebook
, чтобы включить пакетный javascript-комплект (возможно, именно поэтому ваши данные не отображались): см. https://plot.ly/python/renderers/ документацию по графическим визуализаторам. Затем вы можете включить html в документ sphinx с различными решениями (см. Включение отдельной HTML-страницы в документ sphinx).
- Используйте 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')