📜  Bokeh-轴(1)

📅  最后修改于: 2023-12-03 15:29:38.198000             🧑  作者: Mango

Bokeh-轴

Bokeh是一个交互式数据可视化库,可以让用户使用Python和Web浏览器轻松创建漂亮的图形。当涉及到数据可视化时,轴(axes)是一个至关重要的组成部分,Bokeh中的轴具有许多灵活的选项和配置。

坐标轴

Bokeh中的轴被表示为LinearAxisLogAxisDatetimeAxisCategoricalAxis等类型。它们分别对应于数值轴、对数轴、日期轴和分类轴。创建轴的最简单方法是使用figure对象的x_axisy_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)

输出:

image.png

在上面的代码中,创建了一个简单的散点图并设置了x_axisy_axis的标签。axis_label属性可以设置标签的文本,axis_label_standoff属性可以用于设置标签与轴线的距离。

Bokeh中的轴还有更多的自定义选项,例如axis_label_text_fontaxis_label_text_coloraxis_label_text_font_size等属性可以分别设置标签的字体、颜色和字号。此外,axis_line_colormajor_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)

输出:

image-2.png

在上面的代码中,使用了DatetimeAxis类创建了一个时间轴,将x_axis_type设置为datetime,以便将x轴转换为时间轴。此外,widthheight属性可以用于设置图形的大小,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)

输出:

image-3.png

在上面的代码中,使用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)

输出:

image-4.png

在上面的代码中,将x_range设置为分类变量的列表,以便Bokeh将其识别为分类轴。此外,通过vbar方法创建了一列垂直的柱状图。

至此,Bokeh中的轴介绍完毕,开发者们可以根据具体需求来选择合适的轴类型,并灵活定制轴的样式。