【问题标题】:Bokeh labels truncated on x Axis在 x 轴上截断散景标签
【发布时间】:2017-11-01 15:00:40
【问题描述】:

我用 Bokeh 创建了一个图表,其中 X 轴的类型为“日期时间”。 不幸的是,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

这是图表:

谢谢, 杰拉德

【问题讨论】:

    标签: bokeh


    【解决方案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 时配置这些标签。

    【讨论】:

    • 谢谢,就是这样!
    猜你喜欢
    • 1970-01-01
    • 2014-07-30
    • 2017-04-13
    • 2019-12-19
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 2013-04-12
    • 1970-01-01
    相关资源
    最近更新 更多