📅  最后修改于: 2023-12-03 15:29:38.198000             🧑  作者: Mango
Bokeh是一个交互式数据可视化库,可以让用户使用Python和Web浏览器轻松创建漂亮的图形。当涉及到数据可视化时,轴(axes)是一个至关重要的组成部分,Bokeh中的轴具有许多灵活的选项和配置。
Bokeh中的轴被表示为LinearAxis
、LogAxis
、DatetimeAxis
和CategoricalAxis
等类型。它们分别对应于数值轴、对数轴、日期轴和分类轴。创建轴的最简单方法是使用figure
对象的x_axis
和y_axis
属性。
from bokeh.plotting import figure, show
plot = figure()
plot.circle([1, 2, 3], [1, 2, 3])
plot.xaxis.axis_label = "X Label"
plot.yaxis.axis_label = "Y Label"
show(plot)
输出:
在上面的代码中,创建了一个简单的散点图并设置了x_axis
和y_axis
的标签。axis_label
属性可以设置标签的文本,axis_label_standoff
属性可以用于设置标签与轴线的距离。
Bokeh中的轴还有更多的自定义选项,例如axis_label_text_font
、axis_label_text_color
和axis_label_text_font_size
等属性可以分别设置标签的字体、颜色和字号。此外,axis_line_color
和major_tick_line_color
等属性可以用于设置轴线和刻度线的颜色。
如果需要在Bokeh中创建日期/时间轴,则需要使用DatetimeAxis
类。下面的示例演示如何创建一个时间轴。
from bokeh.plotting import figure, show
from bokeh.models import DatetimeTickFormatter
from datetime import datetime
x = [datetime(2021, 5, i) for i in range(1, 10)]
y = list(range(1, 10))
plot = figure(x_axis_type="datetime", width=800, height=400)
plot.line(x, y)
plot.xaxis.axis_label = "Date"
plot.xaxis.formatter = DatetimeTickFormatter(days=["%m/%d/%Y"])
show(plot)
输出:
在上面的代码中,使用了DatetimeAxis
类创建了一个时间轴,将x_axis_type
设置为datetime
,以便将x轴转换为时间轴。此外,width
和height
属性可以用于设置图形的大小,xaxis.formatter
属性用于设置标签的格式。
在Bokeh中创建对数轴非常简单,只需要使用LogAxis
类创建轴即可。
from bokeh.plotting import figure, show
x = [1, 10, 100, 1000, 10000]
y = [1, 2, 3, 4, 5]
plot = figure()
plot.line(x, y, y_axis_type="log")
plot.xaxis.axis_label = "X Label"
plot.yaxis.axis_label = "Y Label"
show(plot)
输出:
在上面的代码中,使用line
方法创建了一条曲线,并将y_axis_type
属性设置为log
。这样就创建了一个对数轴。
在Bokeh中创建分类轴同样也非常简单,只需要使用CategoricalAxis
类即可。下面的示例演示如何创建一个分类轴。
from bokeh.plotting import figure, show
x = ["A", "B", "C", "D", "E"]
y = [10, 20, 15, 25, 30]
plot = figure(x_range=x)
plot.vbar(x=x, top=y, width=0.9)
show(plot)
输出:
在上面的代码中,将x_range
设置为分类变量的列表,以便Bokeh将其识别为分类轴。此外,通过vbar
方法创建了一列垂直的柱状图。
至此,Bokeh中的轴介绍完毕,开发者们可以根据具体需求来选择合适的轴类型,并灵活定制轴的样式。