Bokeh-如何正确设置&;控制datetime的xaxis-可能的错误?

Bokeh-如何正确设置&;控制datetime的xaxis-可能的错误?,date,datetime,pandas,axis,bokeh,Date,Datetime,Pandas,Axis,Bokeh,我试图使用以下代码在Bokeh(0.12.3)中绘制一个基本的线和点图。我已将x_轴_类型设置为“datetime”,并绘制了一个(随机)变量与一个(0.19.0)datetime64数据类型的对比,该数据类型是数据帧(即时间序列)的索引 我看到绘图的问题是日期没有正确对齐。在时间序列中,最长日期为2016-11-06,然而,最后一个刻度是11月16日,有一个点与之后几天的刻度一致 奇怪的是,当放大绘图时,对齐看起来是正确的 这是一个错误,还是我在为这个情节做错事?我是否需要更具体地说明x轴的渲

我试图使用以下代码在Bokeh(0.12.3)中绘制一个基本的线和点图。我已将x_轴_类型设置为“datetime”,并绘制了一个(随机)变量与一个(0.19.0)datetime64数据类型的对比,该数据类型是数据帧(即时间序列)的索引

我看到绘图的问题是日期没有正确对齐。在时间序列中,最长日期为2016-11-06,然而,最后一个刻度是11月16日,有一个点与之后几天的刻度一致

奇怪的是,当放大绘图时,对齐看起来是正确的

这是一个错误,还是我在为这个情节做错事?我是否需要更具体地说明x轴的渲染方式

此外,我真的认为比例增量应该在相同的天数内。然而,在这种情况下,Bokeh将标度增量绘制为esch月的同一天(这是不同天数的增量)。我以前在其他情节中也看到过这种情况,违约可能会妨碍解释

谢谢你在这方面的帮助。以下是演示问题的代码和屏幕截图:

# imports & config
import pandas as pd
import numpy as np
from bokeh.plotting import figure, show, output_notebook

output_notebook()

# create a times series dataframe
rng = pd.date_range('2016-07-24', periods=16, freq='W')
df = pd.DataFrame(np.random.randn(len(rng)), index = rng, columns=['Y'])

# view the tail of the data to compare to plot
df.tail()

# make and render the plot
p1 = figure(x_axis_type='datetime',
        title='Y vs Week Ending',
       plot_width=700, plot_height=400)

p1.xaxis.axis_label = 'Week Ending'
p1.yaxis.axis_label = 'Y'
p1.line(df.index, df['Y'])
p1.circle(df.index, df['Y'])
p1.yaxis.minor_tick_line_alpha=0

show(p1)

最后一次刻度是11月16日,有一个点与几天后的刻度对齐

这是指11月20日至16日。。这不是很直观,但这一年被压缩到标签中

了解这一点可能会改变你的观点。w.r.t.此评论:

…我真的认为比例增量应该在相同的天数内。然而,在这种情况下,Bokeh将标度增量绘制为每月的同一天


它所做的是将基本单位从一天改为一个月,这可能是更正确的方法。

似乎这可能是一个具有特定规模的bug。请在GitHub上提交一份包含此信息的报告。在任何情况下,如果您不想要标准的datetime ticker行为,则有一个固定的ticker:或者您也可以自定义扩展以实现任何您喜欢的ticker策略用于快速回复和提示。将研究固定股票报价方法!我将这个问题添加到bokeh github,作为问题#5436,并使用相同的信息和对这篇文章的引用。哇-没有注意到这一点。这就解释了我对情节的误解。然而,我要说的是,大多数以“月”为单位绘制数据的绘图平台都将月视为序号(而不是数字)。i、 月级聚合数据-在这种情况下,1月、2月和3月之间的刻度距离都是相同的,即使1月有31天,2月有28天。。