Plotly/Dashでインタラクティブなグラフ作成
ほんの数行のコードで以下のようなグラフができちゃいます。
Bokehより簡単だ、、、
スキャッタープロット
コード
| 
					 1 2 3 4 5 6 7 8 9 10  | 
						import numpy as np import plotly.offline as pyo import plotly.graph_objs as go np.random.seed(42) random_x = np.random.randint(1,101,100) random_y = np.random.randint(1,101,100) data = [go.Scatter(x=random_x, y=random_y, mode="markers")] pyo.plot(data,filename="scater.html")  | 
					
スキャッタープロット装飾後
コード
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  | 
						import numpy as np import plotly.offline as pyo import plotly.graph_objs as go np.random.seed(42) random_x = np.random.randint(1,101,100) random_y = np.random.randint(1,101,100) data = [go.Scatter(x=random_x,                    y=random_y,                    mode="markers",                    marker=dict(                        size=12,                        color="rgb(51,204,153)",                        symbol="pentagon",                        line= {"width":2}                    ))] layout = go.Layout(title="hello first plot",                   xaxis=dict(title="My Y axis"),                   yaxis=dict(title="My Y axis"),                   hovermode="closest") fig=go.Figure(data=data,layout=layout) pyo.plot(fig,filename="scater2.html")  | 
					
線グラフ
コード
線グラフは上記のスキャッタープロットと同じように
go.Scatter()内にmode = ‘lines’を追加する
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  | 
						import plotly.offline as pyo import plotly.graph_objs as go import numpy as np np.random.seed(56) x_values = np.linspace(0, 1, 100) # 100 evenly spaced values y_values = np.random.randn(100)   # 100 random values trace1 = go.Scatter(     x = x_values,     y = y_values,     mode = 'lines' ) data = [trace1]  # assign traces to data layout = go.Layout(     title = 'Line chart showing three different modes' ) fig = go.Figure(data=data,layout=layout) pyo.plot(fig, filename='line0.html')  | 
					
複数の線グラフ
コード
mode = ‘markers’
mode = ‘lines+markers’
mode = ‘lines’
の3種類を並べてみます
y_valueに+5、0、-5をそれぞれ加えて位置をずらしています。
name=”〇〇”と記述するとグラフの名称が表示されるようになります。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33  | 
						import plotly.offline as pyo import plotly.graph_objs as go import numpy as np np.random.seed(56) x_values = np.linspace(0, 1, 100) # 100 evenly spaced values y_values = np.random.randn(100)   # 100 random values # create traces trace0 = go.Scatter(     x = x_values,     y = y_values+5,     mode = 'markers',     name = 'markers' ) trace1 = go.Scatter(     x = x_values,     y = y_values,     mode = 'lines+markers',     name = 'lines+markers' ) trace2 = go.Scatter(     x = x_values,     y = y_values-5,     mode = 'lines',     name = 'lines' ) data = [trace0,trace1,trace2]  # assign traces to data layout = go.Layout(     title = 'Line chart showing three different modes' ) fig = go.Figure(data=data,layout=layout) pyo.plot(fig, filename='line1.html')  | 
					
コメントを残す