有谁知道如何为散景图添加x和y轴标题/标签?例如。 X轴:时间,Y轴:股票价格。
非常感谢!
答案 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_width
,title
等)提供给figure(...)
而不是渲染器功能(circle
,那个例子)
答案 2 :(得分:1)
我想出了一种使用CustomJS
更改轴标签的技术:
在fig = figure(...)
声明中,将x_axis_location
和y_axis_location
设置为您不希望最终轴的位置。例如,如果要在最终图中将x轴放在底部,将y轴放在左侧,请设置以下内容:
x_axis_location='above', y_axis_location='right'
隐藏原始轴:
fig.xaxis.visible = None
fig.yaxis.visible = None
声明新轴并将它们添加到图中(即,将它们添加到您在步骤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')
将新轴添加到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)