Проблема в том, что карта сохраняется как локальный файл HTML (rChart_map.html
) и, следовательно, недоступна для nbviewer, когда вы пытаетесь просмотреть ее онлайн.
Даже если вы загрузите rChart_map.html
в Gist, он не будет отображаться из-за проблем с путями. Локально вам нужно обращаться к нему как /files/rChart_map.html
в блокноте IPython, тогда как в сети он имеет другой путь. Ранее я опубликовал эту проблему в твиттере, используя тег #IPython, но не получил ответов о том, как отлаживать.
Так, где это оставляет нас. Что ж, к счастью, большинство современных браузеров позволяют iframe содержать встроенный HTML с использованием тега srcdoc
. Это позволяет сгенерированному файлу .ipynb
быть автономным, как показано здесь, в конце файл.
Ключ в том, чтобы использовать следующий код. Первая строка создает iframe со встроенным HTML-кодом карты и сохраняет его в переменной Python map2
. Вторая строка импортирует необходимые модули Python, а третья строка отображает HTML. Обратите внимание, что мы используем h2[0]
, поскольку map2
— это массив из-за преобразования из R, который векторизован.
map2 = %R paste(capture.output(map$show('iframesrc', cdn = TRUE)), collapse = '\n')
from IPython.display import display, HTML
HTML(map2[0])
Чтобы это работало, вам потребуется версия rCharts
> 0.4.1.
Я заинтересован в том, чтобы упростить использование rCharts
в блокнотах IPython. Так что любые предложения/отзывы приветствуются.
person
Ramnath
schedule
29.12.2013
+filename+
) сделало файл недопустимым json. Nbviewer не запускает ваш код, то, что вы сохраните в своей записной книжке, будет отображаться, нет смысла пытаться заставить nbviewer интерпретировать какое-либо имя переменной. Также существуетfrom IPyhton.display import IFrame
, чтобы избежать проблем с ручным использованиемHTML('<iframe src='i make some mistake and it does not render anymore'></iframe>)
- person Matt   schedule 29.12.2013