日付軸ラベルの間隔表示設定

開始日設定:tick0

たとえば、xaxis = dict(title = 'date', type='date', tick0 = '2018-02-15')

表示間隔設定:dtick

  • dtick: 'M1'で1ヶ月ごとにラベル表示
  • dtick: 'M2'で2ヶ月ごとにラベル表示
  • dtick: 'D'で1日ごとにラベル表示
  • dtick: 'D3'のように複数日ごとのラベル表示はサポートしていない
  • dtick: 複数日ごとのラベルは、n x 86400000.0 で表示できる。例:3日ごと表示したい場合、3 x 86400000.0 = 259200000.0
In [ ]:
import pandas as pd
import numpy as np
import plotly.plotly as py
import plotly.graph_objs as go
import datetime
import plotly.offline as offline
offline.init_notebook_mode()

# 開始日
d1 = datetime.date(2018,2,15)
d1_list = []

# 90日の日付を作成
for i in range(0,90): 
    temp = d1 + datetime.timedelta(i)
    d1_list.append(temp)

# データの作成
X = np.random.randint(0,50,90) 
Y = np.random.randint(0,100,90) 

trace0 = go.Bar(x = d1_list, y = X, name = 'X')
#trace0 = go.Scatter(x = d1_list, y = X, mode = 'lines', name = 'X')
trace1 = go.Scatter(x = d1_list, y = Y, mode = 'lines', name = 'Y')

# レイアウトの指定
#layout = go.Layout(xaxis = dict(title = 'date', type='date', dtick = 'M1'),  
# dtick: 'M1'で1ヶ月ごとにラベル表示 
#layout = go.Layout(xaxis = dict(title = 'date', type='date', dtick = 'M2'),  
# dtick: 'M2'で2ヶ月ごとにラベル表示 
#layout = go.Layout(xaxis = dict(title = 'date', type='date',  dtick = 'D'),  
# dtick: 'D'で1日ごとにラベル表示 
#layout = go.Layout(xaxis = dict(title = 'date', type='date',  dtick = 'D3'),  
# dtick: 「Dn」のように複数日ごとのラベル表示はサポートしていない 
layout = go.Layout(xaxis = dict(title = 'date', type='date',  tick0 = '2018-02-15', dtick = 259200000.0),  
# dtick: 複数日ごとのラベルは、n * 86400000.0 で表示できる。例:3日ごと表示したい場合、3 * 86400000.0 = 259200000.0
              yaxis = dict(title = 'value'))

fig = dict(data = [trace0, trace1], layout = layout)

offline.iplot(fig)