我创建了一个包含Bokeh的图表,其中X轴的类型为' datetime'。 不幸的是,X轴上显示的标签被截断。 如何防止这种截断?
这是我的代码:
TOOLS = "pan,wheel_zoom,box_zoom,reset,save"
p = figure(x_axis_type="datetime", tools=TOOLS, plot_width=1000, plot_height=600, title = "Feed")
p.xaxis.formatter=DatetimeTickFormatter(
hours=["%d %B %Y"],
days=["%d %B %Y"],
months=["%d %B %Y"],
years=["%d %B %Y"],
)
p.grid.grid_line_alpha=0.3
p.line(_df.datetime, [i for i in range(len(_df.datetime))], color='firebrick', legend='Fast Ask')
output_file("bokeh.html", title="example")
output_notebook()
show(p) # open a browser
这是图表:
谢谢, 杰拉德
答案 0 :(得分:1)
来自reference documentation for DatetimeTickFormatter
:
DatetimeTickFormatter具有以下属性(与其默认值一起列出),可用于控制不同比例尺度的轴刻度的格式:
microseconds = ['%fus'] milliseconds = ['%3Nms', '%S.%3Ns'] seconds = ['%Ss'] minsec = [':%M:%S'] minutes = [':%M', '%Mm'] hourmin = ['%H:%M'] hours = ['%Hh', '%H:%M'] days = ['%m/%d', '%a%d'] months = ['%m/%Y', '%b%y'] years = ['%Y']
您只需设置最后四个刻度,从hours
开始。但是从您的图片中可以清楚地看出,x轴范围仅在几分钟的范围内延伸,因此Bokeh使用默认格式进行分钟刻度,如上所示。如果你想要一个完整的"小标尺的标签(例如hourmin
和minutes
或更小的标尺),那么您在创建DatetimeTickFormatter
时也需要配置它们。