散景散点图中的固定轴间距(刻度)

时间:2019-01-09 13:40:46

标签: python bokeh scatter-plot

我正在用Bokeh生成散点图,其中每个X值的数字Y值都不同。当Bokeh生成图时,它会根据绘制的值数自动填充x轴间距。我希望x轴上的所有值均匀分布,而不管各个数据点的数量如何。我已经研究过手动设置刻度线,但是看起来我必须使用这种方法自己设置间距(即指定确切位置)。我希望它能像绘制奇异的x,y值对时一样自动均匀地设置间距。能做到吗?

这是显示行为的示例。

import pandas
from bokeh.plotting import figure, show
from bokeh.models import ColumnDataSource

days =['Mon','Mon','Mon', 'Tues', 'Tues', 'Weds','Weds','Weds','Weds']
vals = [1,3,5,2,3,6,3,2,4]

df = pandas.DataFrame({'Day': days, 'Values':vals})

source = ColumnDataSource(df)

p = figure(x_range=df['Day'].tolist())
p.circle(x='Day', y='Values', source=source)
show(p)

1 个答案:

答案 0 :(得分:1)

您正在传递字符串列表作为范围。这将创建一个分类轴。但是,该范围的类别列表应该是唯一的,没有重复项。您正在传递具有重复值的列表。这实际上是无效的用法,结果是未定义的行为。您应该按照希望它们出现的顺序传递唯一的分类因素列表。