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内で書いていました。なぜかは分かりませんが、これでうまくいったので今はこれで良しとします。
それではまた!