Bokeh图的X和Y轴标签

时间:2014-06-10 01:29:39

标签: python bokeh

有谁知道如何为散景图添加x和y轴标题/标签?例如。 X轴:时间,Y轴:股票价格。

非常感谢!

4 个答案:

答案 0 :(得分:30)

截至Bokeh 0.11.1,user's guide section on axes现在显示如何编辑现有轴的属性。这样做的方法与以前一样:

p = figure(width=300, height=300, x_axis_label='Initial xlabel')
p.xaxis.axis_label = 'New xlabel'

答案 1 :(得分:9)

查看此示例:periodic table

您现在还可以将一般情节相关选项(plot_widthtitle等)提供给figure(...)而不是渲染器功能(circle,那个例子)

答案 2 :(得分:1)

我想出了一种使用CustomJS更改轴标签的技术:

  1. fig = figure(...)声明中,将x_axis_locationy_axis_location设置为您不希望最终轴的位置。例如,如果要在最终图中将x轴放在底部,将y轴放在左侧,请设置以下内容:

    x_axis_location='above', y_axis_location='right'
    
  2. 隐藏原始轴:

    fig.xaxis.visible = None
    fig.yaxis.visible = None
    
  3. 声明新轴并将它们添加到图中(即,将它们添加到您在步骤1中设置的轴的相对侧):

    from bokeh.models import LinearAxis
    xaxis = LinearAxis(axis_label="Initial x-axis label")
    yaxis = LinearAxis(axis_label="Initial y-axis label")
    fig.add_layout(xaxis, 'below')
    fig.add_layout(yaxis, 'left')
    
  4. 将新轴添加到CustomJS的参数中,您可以在其中更改axis_label s:

    callback = CustomJS(args=dict(source=source,
                                  xaxis=xaxis,
                                  yaxis=yaxis), code="""
    
        xaxis.attributes.axis_label = "New x-axis label";
        yaxis.attributes.axis_label = "New y-axis label";
        xaxis.change.emit();
        yaxis.change.emit();
    
        """)
    

答案 3 :(得分:0)

from bokeh.plotting import figure, output_file, show
from bokeh.models.annotations import Title
p = figure(plot_width=1300, plot_height=400,x_axis_type="datetime")
p.xaxis.axis_label = 'Time'
p.yaxis.axis_label = 'Stock Price'
p.line(time,stock_price)
t = Title()
t.text = 'Stock Price during year 2018'
p.title = t
show(p)