Nominal/categorical 散点图上的轴

Nominal/categorical axis on a scatter plot

如何在 Bokeh 的散点图上生成 nominal/categorical 轴(条目 a, b, c 而不是 1,2,3)?

假设应该绘制以下数据:

a  0.5
b  10.0
c  5.0

我尝试了以下方法:

import bokeh.plotting as bk

# output to static HTML file
bk.output_file("scatter.html", title="scatter plot example")

x = ['a', 'b', 'c']
y = [0.5, 10.0, 5.0]

p = bk.figure(title = "scatter")
p.circle(x = x, y = y)
bk.show(p)

但是,这会生成一个空图。如果 x 数据更改为 x = [1, 2, 3] 一切都会按预期绘制。

我该怎么做才能在 x 轴上显示 a, b, c

您需要明确提供类别列表作为 x_rangey_range。参见:

http://docs.bokeh.org/en/latest/docs/gallery/categorical.html

根据bigreddot的回答,x_range需要明确设置如下:

p = bk.figure(title = "scatter", x_range = x)

这是完整的示例:

import bokeh.plotting as bk

# output to static HTML file
bk.output_file("scatter.html", title="scatter plot example")

x = ['a', 'b', 'c']
y = [0.5, 10.0, 5.0]

p = bk.figure(title = "scatter", x_range = x)
p.circle(x = x, y = y)
bk.show(p)