サイトアイコン 日本ベロモービル普及日誌

python plotlyのiplotで空白の出力しか出ない場合の対処法

Contents

はじめに

最近、pythonのグラフを描くことがあります。今まではmatplotlibを使っていたのですが、「小さすぎて見えない!ここだけドラッグで拡大したいなー。」と思ったのですが、matplotlibでは出来ませんでした。そこで調べたところ、plotlyというライブラリが、そういうことが出来ると知ったので、使ってみることにしました。

インストール

pipやらanacondaやら、pythonライブラリには色々インストール方法がありますが、ubuntu ではaptが一貫性もあり、ビルドしてテスト済みで、uninstallも楽で、いちいちactivateとかせずにぱぱっと使いたかったので、aptでシステムにインストールすることにしました。

$ sudo apt install python-plotly

でインストールしました。python, jupyterやらもaptで入れている前提です。

実行

jupyter内でplotするコマンドはiplotということで、本家のマニュアル https://plot.ly/python/offline/#plotly-offline-from-command-line を見ながら、$ jupyter notebook でjupyterを起動してから、ブラウザ上で以下を実行します。

import plotly
import plotly.graph_objs as go
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
plot([go.Scatter(x=[1, 2, 3], y=[3, 1, 6])])
init_notebook_mode(connected=True)
iplot([{"x": [1, 2, 3], "y": [3, 1, 6]}])

これでjupyter notebook内にplotが出来たはずです。

iplotで空白しか出ないときの対処法

いざ、自作のコードでiplotすると、なぜか空白しか出ないことがありました。そのときは、jupyterの上の回転マーク(restart the kernel)をクリックして、一旦終了し、上記の様に、

import plotlyと、init_notebook_mode()と、iplot()をそれぞれべつのcellで実行すると、なぜかうまく行きました。

私のもともとのコードは上記の3つを1つのcell内で書いていました。なぜかは分かりませんが、これでうまくいったので今はこれで良しとします。

それではまた!

Please follow and like us:
モバイルバージョンを終了