簡體   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