#!/usr/bin/env python # coding: utf-8 # # plot.ly # 可視化ライブラリ[plot.ly](https://plot.ly/)がオープンソース化ということで、オープン版の練習をしてみます。 # # まず初期設定。 # In[1]: import plotly.offline as py import plotly.graph_objs as go import numpy as np py.init_notebook_mode() # ### 普通の散布図 # In[ ]: x=np.linspace(0,10) y=np.sin(x) data = go.Data([go.Scatter(x=x,y=y)]) py.iplot(data) # ### ヒストグラム # # In[ ]: x=np.random.randn(10000) data = go.Data([go.Histogram(x=x)]) py.iplot(data) # ### 二次元ヒストグラム # # In[ ]: x = np.random.randn(10000) y = np.random.randn(10000)+1 data = [go.Histogram2d(x=x, y=y)] plot_url = py.iplot(data) # このへんまではmatplotlibでもできる(し、あっちのほうが扱いやすい)のですが、 # 違いはマウスオーバで値が出たり拡大縮小したりできること。まあ、とくに不要ですが。。 # ### 横軸が日付の散布図 # matplotlibでも[できます](http://matplotlib.org/examples/api/date_demo.html)が、コード量が圧倒的に短くて済むのはよいですね。横軸を月で正規化する機能はないのかな。 # In[ ]: from datetime import datetime x = [ datetime(year=2015, month=10, day=3), datetime(year=2015, month=11, day=12), datetime(year=2016, month=1, day=10) ] data = [ go.Scatter( x=x, y=[3, 2,1] ) ] plot_url = py.iplot(data) # # 画像 # 案外画像まで扱えるライブラリがないんですよね。。notebookだからか単体だからか、下記がエラーで通りません。 # # In[ ]: from PIL import Image img=np.asarray(Image.open("sample.jpg").convert("L")) py.image.ishow({'data': img})