如何在散景中强制所有x刻度?

时间:2018-02-08 06:08:50

标签: python bokeh

enter image description here 在使用散景图来描绘市场表现随着时间的推移,我用等距日期覆盖了x轴。但是,我似乎无法强制显示所有日期。感谢帮助!

数据来源:

1,2680.4
1.0128,2680.4
1.0256,2680.6
1.0385,2680.9
1.0513,2681.1
1.0641,2681.4
1.0769,2681.6
...

代码:

import ...

data = pd.read_csv(filename, header = None)
now = datetime.datetime.now()
list_days = []
delta = 60         # timedelta

for i in range(delta + 1):
    d = now + timedelta(days=i)
    list_days.append(d.strftime('%m-%d-%Y'))

p = figure(title='' + now.strftime('%m-%d-%Y'), plot_width=1200, plot_height=800, x_axis_label = 'Date', y_axis_label='Price')

p.line(data[0].values, data[1].values, line_width=2, alpha=0.5, color='navy')

label_dict = {} 
for i, s in enumerate(list_days): 
    label_dict[i] = s 

p.xaxis.formatter = FuncTickFormatter(
    code=""" var labels = %s; return labels[tick]; """ % label_dict)

p.xaxis.major_label_orientation = pi/4

show(p)

1 个答案:

答案 0 :(得分:0)

标签出现在主要刻度线上,您会看到次要刻度线。 您可以通过以下方式关闭它们:

yourplot.xaxis.minor_tick_line_color = None  # x-axis-minor-tick  off 
yourplot.yaxis.minor_tick_line_color = None  # y-axis-minor-tick  off 

请参阅TickLine Doku

如果你想要"更多"介于两者之间的日期可以使用fixed ticker设置它们,设置自己显示的标签样式。