ローカルで実行$ipython3 notebook --pylab=inline
し、pylab と python 3.3 を使用して小さな png フィギュアを含む単純なノートブックを保存しました。
ノートブックセルの内容:
from pylab import *
x = linspace(0, 5, 10)
y = x ** 2
figure()
plot(x, y, 'r')
xlabel('x')
ylabel('y')
title('title')
show()
セルを実行すると、インラインのpng図が表示されました。保存されたファイル (my_notebook.ipynb) には、データ URI として保存された .png があります。
{ ..., "png":"iVBO...ZUmwK\n...", ... }
コマンドを実行した後:
ipython3 nbconvert --to html my_notebook.html
my_notebook.html は、次のようなデータ uri として図を使用して生成されます。
<img src="data:image/png;base64,b'iVBO...ZUmwk\n..." >
最新の chrome または firefox では、file:///.../my_notebook.html をローカルで開いたときに画像データ uri がロード/表示されず、chrome コンソールが img タグの「リソースの読み込みに失敗しました」と報告します。
画像をロードして imshow() で表示しても同じ結果が得られました。図はノートにきれいに表示されます。それらが(まったく)表示されないのは、html への nbconvert の後です。
(画像データURIのエスケープされた改行に注意してください-データ文字列のすべてのエスケープされた改行を実際の改行に置き換えてみましたが、結果は変わりません)
ブラウザーでローカルに開かれた ipython ノートブック ("file:///.../my_notebook.html") の nbconverted-html バージョンに表示される png フィギュアを取得するにはどうすればよいですか?
(各図を保存し、変換された html を手動で変更して、ディスク上の保存された図を参照する必要はありません。)
編集: バージョン:
python 3.3.1
ipython==1.0.0
matplotlib==1.2.1
Pillow==2.1.0 (PIL)