【plotly】軸の値の範囲を指定する方法と軸を対数(log)にする方法[Python]

  • URLをコピーしました!
目次

plotly

前回、HTML上でインタラクティブなグラフ描写ができるライブラリplotlyで軸の値を文字列や日付に変更する方法を解説しました。

今回は軸は値の範囲を指定する方法と対数表示(log)にする方法を試していきましょう。

まずは基本となるプログラムから。

import random
import plotly.graph_objects as go

data_points = 100

x_val = [i for i in range(data_points)]
y_val = [random.randrange(100) for _ in range(data_points)]

graph = go.Scatter(x=x_val,y=y_val)

fig = go.Figure(data=graph)

with open('./plotly8-1.txt', 'w') as f:
     f.write(fig.to_html(include_plotlyjs='cdn',full_html=False))

実行結果

X軸の範囲を指定する方法

まずはX軸の範囲を指定してみましょう。

前々回の軸の目盛りの設定と同じく「fig.update_layout()」を使う方法と「fig.update_xaxes()」を使う方法があります。

fig.update_layout()を使う場合

fig.update_layout()を使う場合、そのオプションに「xais=dict(range(最小値, 最大値))」を追加します。

import random
import plotly.graph_objects as go

data_points = 100

x_val = [i for i in range(data_points)]
y_val = [random.randrange(100) for _ in range(data_points)]

graph = go.Scatter(x=x_val,y=y_val)

fig = go.Figure(data=graph)

fig.update_layout(xaxis=dict(range=(25, 50)))

with open('./plotly8-2.txt', 'w') as f:
     f.write(fig.to_html(include_plotlyjs='cdn',full_html=False))

実行結果

fig.update_xaxes()を使う場合

fig.update_xaxes()を使う場合、そのオプションに「range=(最小値, 最大値)」を追加します。

import random
import plotly.graph_objects as go

data_points = 100

x_val = [i for i in range(data_points)]
y_val = [random.randrange(100) for _ in range(data_points)]

graph = go.Scatter(x=x_val,y=y_val)

fig = go.Figure(data=graph)

fig.update_xaxes(range=(25, 50))

with open('./plotly8-3.txt', 'w') as f:
     f.write(fig.to_html(include_plotlyjs='cdn',full_html=False))

実行結果

Y軸の範囲を指定する方法

Y軸の範囲を指定する方法は、X軸の範囲を設定する方法と同じく「fig.update_layout()」を使う方法と「fig.update_yaxes()」を使う方法があります。

fig.update_layout()を使う場合

fig.update_layout()を使う場合、そのオプションに「yais=dict(range(最小値, 最大値))」を追加します。

import random
import plotly.graph_objects as go

data_points = 100

x_val = [i for i in range(data_points)]
y_val = [random.randrange(100) for _ in range(data_points)]

graph = go.Scatter(x=x_val,y=y_val)

fig = go.Figure(data=graph)

fig.update_layout(yaxis=dict(range=(50, 100)))

with open('./plotly8-4.txt', 'w') as f:
     f.write(fig.to_html(include_plotlyjs='cdn',full_html=False))

実行結果

fig.update_yaxes()を使う場合

fig.update_yaxes()を使う場合、そのオプションに「range=(最小値, 最大値)」を追加します。

import random
import plotly.graph_objects as go

data_points = 100

x_val = [i for i in range(data_points)]
y_val = [random.randrange(100) for _ in range(data_points)]

graph = go.Scatter(x=x_val,y=y_val)

fig = go.Figure(data=graph)

fig.update_yaxes(range=(50, 100))

with open('./plotly8-5.txt', 'w') as f:
     f.write(fig.to_html(include_plotlyjs='cdn',full_html=False))

実行結果

軸の値を対数表示(log)にする方法

今回はもう一つ、軸の値を対数表示にしてみましょう。

こちらも「fig.update_layout()」を使う方法と「fig.update_xaxes()」、もしくは「fig.update_yaxes()」を使う方法があります。

今回はX軸だけで試してみますが、同様にしてY軸を対数表示にすることも可能です。

fig.update_layout()を使う場合

fig.update_layout()を使う場合、X軸を対数にする場合は「xais=dict(type=’log’)」、Y軸を対数にする場合は「yais=dict(type=’log’)」を追加します。

import random
import plotly.graph_objects as go

data_points = 100

x_val = [i for i in range(data_points)]
y_val = [random.randrange(100) for _ in range(data_points)]

graph = go.Scatter(x=x_val,y=y_val)

fig = go.Figure(data=graph)

fig.update_layout(xaxis=dict(type='log'))

with open('./plotly8-6.txt', 'w') as f:
     f.write(fig.to_html(include_plotlyjs='cdn',full_html=False))

実行結果

fig.update_xaxes()、もしくはfig.update_yaxes()を使う場合

fig.update_xaxes()、もしくはfig.update_yaxes()を使う場合はそのオプションに「type=’log’」を追加します。

import random
import plotly.graph_objects as go

data_points = 100

x_val = [i for i in range(data_points)]
y_val = [random.randrange(100) for _ in range(data_points)]

graph = go.Scatter(x=x_val,y=y_val)

fig = go.Figure(data=graph)

fig.update_xaxes(type='log')

with open('./plotly8-7.txt', 'w') as f:
     f.write(fig.to_html(include_plotlyjs='cdn',full_html=False))

実行結果

これでX軸、Y軸の範囲を指定して表示したり、対数表示ができるようになりました。

次回は左右にY軸がある2軸グラフや上下にX軸がある2軸グラフの表示の仕方を勉強してみましょう。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次