使用python Bokeh分组条形图更改条形宽度?

时间:2015-12-07 15:59:40

标签: python pandas bokeh

这是一个例子。无论我怎么能bar_width,这个数字看起来完全一样。如何增加所有条的宽度?

from bokeh.charts import Bar, output_notebook, show, vplot, hplot, defaults
from bokeh.sampledata.autompg import autompg as df
output_notebook()

df['neg_mpg'] = 0 - df['mpg']

defaults.width = 550
defaults.height = 400
bar_plot7 = Bar(df, label='cyl', values='displ', agg='mean', group='origin', bar_width=10,
                title="label='cyl' values='displ' agg='mean' group='origin'", legend='top_right')
show(bar_plot7)

2 个答案:

答案 0 :(得分:6)

看起来像Bokeh的新版本中的一个错误,其宽度并没有一直到最后。现在,您可以执行以下操作:

for r in bar_plot7.renderers:
    try:
        r.glyph.width = 0.1
    except AttributeError:
        pass
show()调用之前

制作瘦骨条。

答案 1 :(得分:0)

from bokeh.charts import Bar
from bokeh.charts.attributes import ColorAttr, CatAttr
from bokeh.charts.builders.bar_builder import BarBuilder

# output_file('try_select.html')
data = pd.DataFrame({'labels':['b', 'a', 'd', 'c'], 'values': [1, 2, 3, 4]}, index=[1, 2, 3, 4])
plt = Bar(data, values='values',label=CatAttr(columns=['labels'], sort=False),color=ColorAttr(columns=['labels']))
output_notebook()
show(plt)

如果您将df修改为groupby df。

,这将有效