作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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)
最佳答案
您正在传递一个字符串列表作为范围。这将创建一个分类轴。但是,该范围的类别列表应该是唯一的,没有重复。您正在传递一个包含重复值的列表。这实际上是无效的用法,结果是未定义的行为。您应该为范围传递一个唯一的分类因素列表,按照您希望它们出现的顺序。
关于python - 修复 Bokeh 散点图中的轴间距(刻度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54111498/
我是一名优秀的程序员,十分优秀!