3

我自己做一个直方图,每个条的总和是 1。所以每个条都小于 1。为什么它们不适合绘图窗口?我怎样才能做到这一点?

yaxis().bounds = [0,1]

这仅设置轴,但不适合我的情节。是否没有适当的散景文档,我对这些简单的问题很生气。

from bokeh.plotting import *
from __future__ import division
output_notebook()
from bokeh.plotting import rect

balkenbreite = 5
mitten = [10,20,30,40]
werte = [10,15,10,5]
anteil = []
sumVal = sum(werte)
for i in range(len(werte)):
    anteil.append(0)
for i in range(len(anteil)):
    anteil[i] = werte[i]/sumVal
print anteil

figure()
hold(False)
rect([mitten[0]],[anteil[0]/2], width=balkenbreite, height=anteil[0], plot_width=400, color = "#ff1200", plot_height=400, tools="pan")
hold(True)
for i in range(len(mitten)):
    if i==0: continue
    rect([mitten[i]],[anteil[i]/2], width=balkenbreite, height=anteil[i], plot_width=400, color = "#ff1200", plot_height=400)
xaxis()[0].axis_label="Areas"
yaxis()[0].axis_label="Frequency"
yaxis()[0].bounds = [0,1]
show()

在此处输入图像描述

4

2 回答 2

4

注意(4/8/2014):Bokeh仍处于早期但积极的开发阶段,所以这些问题暂时是可以预料的。随着我们继续扩展我们的文档,我们希望尽快回答这些问题,但与此同时,您可能会发现这些教程很有帮助。

对于手头的问题:当前可以使用对象设置绘图范围,该Range1d对象分配给x_rangeory_range关键字参数。这些可以在figure()实例上设置。

这三行应该可以解决这个问题:

from bokeh.objects import Range1d
yr = Range1d(start=0, end=1)
figure(y_range=yr)

编辑:这是我想象的你想要的截图。

截屏

于 2014-04-08T23:08:33.577 回答
4

kpsfire 的上述回答回答了这个问题,但我确实想做一些补充说明。Bokeh 文档站点http://docs.bokeh.org目前在实时图库中有许多完整的代码示例、python 和 javascript 的广泛 API 参考、用户和开发人员指南以及相当充实的教程-在几个不同的会议上收到。我认为我们至少有一个不错的开始。:)

那就是说!总是有改进和补充的空间,确保文档变得更好的最好方法是听取用户的反馈,让我们知道缺少的领域。有时我们可以得到隧道视野,忘记将 Bokeh 视为全新的东西是什么感觉。

我们确实会积极尝试监控 SO 中有关 Bokeh 的问题,但提出此类问题的更直接方式是向 Bokeh 邮件列表发送消息:bokeh@continuum.io 或者,在 GitHub 问题跟踪器上提交问题可能是最好的确保问题不会被忽视的方法。它位于

https://github.com/bokeh/bokeh/issues

在我们即将发布的版本之前,我已经打开了一个 PR 来刷新文档。我添加了有关绘图范围的信息,并将添加一些其他附加主题。您可以在以下位置监控进度:

https://github.com/bokeh/bokeh/pull/510

预计这些更改将在本周晚些时候出现在http://docs.bokeh.org上。感谢您的反馈,感谢您对 Bokeh 的关注!

于 2014-04-09T02:59:57.723 回答