2017-05-03 18 views
8

パッケージpivottablejsを使用して、ピボットテーブルのピボットテーブルを操作して視覚化しました。ピボットテーブルの図をファイルに保存する

from pivottablejs import pivot_ui 
pivot_ui(df) # where df is a pandas dataframe 

は、ジュピターノートブックで対話式ピボットテーブル/プロットを生成します。

jupyterノートブックからpngにこのパッケージで作成された図形を保存するには、何かpyononicな方法がありますか?私はクラシックplt.savefig('file.png')に似た何かを探しています。フロントエンドは基本的にjavascriptであり、私はPythonを介してjavascriptの図にアクセスする方法(または可能であれば)を知りません。

+0

あなたはpickleを使用してファイルを保存できます。あなたは代わりに画面上のイメージをスナップショットを探していますか? – Adam

+0

理想的にはplt.savefig( 'file.png')と同じ結果が欲しいです – VinceP

答えて

2

あなたはこのコメントのために長すぎるので、私は答えとして、それを追加している

pivot_ui(df, outfile_path="yourpathname.html") 
+0

ありがとうございますが、これはページ全体を保存しませんか?私は数字を保存する必要があります。 – VinceP

3

をoutfile_path指定することで、HTMLとして保存することができます。 pivottablejsは、イメージをsvgとして作成し、イメージのダウンロード/エクスポートメカニズムを提供しません。しかし、あなたができることは、jsをセルに注入し、それを使ってsvgをダウンロードすることです。

これを行う簡単な方法の1つはsvg-crowbar.jsです。 pivot_uiを使用してグラフを生成し、出力が画面に表示されたら、次のセルで次を実行してsvgをダウンロードします。

In [10]: %%javascript 
     var e = document.createElement('script'); e.setAttribute('src', 'https://nytimes.github.io/svg-crowbar/svg-crowbar.js'); e.setAttribute('class', 'svg-crowbar'); document.body.appendChild(e); 

注:これはChromeでのみ有効です。

+0

ありがとうございます。これは(クロム上で)機能します。現時点で最良の解決策であると思われますが、正確には – VinceP

+1

私は理解していますが、おそらく、pivottablejsではなくmatplotlibを使用することができます。そうすれば、あなたが保存できるpngを得ることができます。 – TheChetan

関連する問題