繁体   English   中英

具有日期时间轴的散景图中的恒定宽度

[英]Constant width in bokeh graph with datetime axis

我在散景中设置了一个堆叠条形图,每个条形图表示一个月:

在此处输入图像描述

相应的代码位如下所示:

p.vbar_stack(
        categories,
        x="zeit",
        width=2629800000 * 0.9,
        color=Category20c[len(categories)],
        source=plot_data,
    )

宽度以毫秒为单位指定,对应于一个月的平均长度。 我将其乘以 0.9 以在条形之间创建间隙。 问题是由于月份长度的实际差异,柱之间的差距不同。 这在 2 月和 3 月之间最为显着(例如,图中左侧的第三个和第四个柱)。

我怎样才能使条形宽度(和间隙)对几个月的长度保持稳健?

在您的情况下,从语义上讲,它实际上并不是日期时间轴,而是分类轴。 如果您切换到正确的分类轴,您的问题应该得到解决。

如果你喜欢可变宽度的条,你可以使用timedelta作为宽度。 我们必须每个月创建一个。 这涉及 2 月/3 月的问题。 我使用line_width来分隔条形图。

df['days'] = df.index.to_series().apply(lambda x: datetime.timedelta(days=x.days_in_month))

plot_data = ColumnDataSource(df)

p.vbar_stack(
    categories,
    x="zeit",
    width='days',
    line_width=1, 
    line_color='white',
    color=Category20c[len(categories)],
    source=plot_data,
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM