簡體   English   中英

plotly 水平堆疊條形圖不適用於日期中的 x 軸

[英]plotly horizontal stacked bar chart not working with x-axis in dates

我正在嘗試使用https://plotly.com/python/horizontal-bar-charts/Colored Horizontal Bar Chart部分下提供的示例之一。 但是我使用日期而不是數字

代碼

import plotly.graph_objects as go

fig = go.Figure()
fig.add_trace(go.Bar(
    y=['giraffes', 'orangutans', 'monkeys'],
    x=['2012-02-02', '2012-02-01', '2012-02-01'],
    name='SF Zoo',
    orientation='h',
    marker=dict(
        color='rgba(246, 78, 139, 0.6)',
        line=dict(color='rgba(246, 78, 139, 1.0)', width=3)
    )
))
fig.add_trace(go.Bar(
    y=['giraffes', 'orangutans', 'monkeys'],
    x=['2012-02-10', '2012-02-06', '2012-02-28'],
    name='LA Zoo',
    orientation='h',
    marker=dict(
        color='rgba(58, 71, 80, 0.6)',
        line=dict(color='rgba(58, 71, 80, 1.0)', width=3)
    )
))

fig.update_layout(barmode='stack')
fig.show()

我嘗試使用 datetime.datetime(2012, 2, 2, 0, 0),仍然給我一個完全錯誤的圖表。 我嘗試使用布局格式,但仍然無法解決這個問題

Plot:

在此處輸入圖像描述

一種解決方案是使用甘特圖,它可以更好地處理日期(特別是定義它的開始和結束位置)。

這是一個工作示例:

import plotly.express as px
import pandas as pd

df = pd.DataFrame([
    dict(Task="LA Zoo", Start='2012-02-02', Finish='2012-02-10', Resource="giraffes"),
    dict(Task="LA Zoo", Start='2012-02-01', Finish='2012-02-6', Resource="orangutans"),
    dict(Task="LA Zoo", Start='2012-02-01', Finish='2012-02-28', Resource="monkeys"),
    dict(Task="SF Zoo", Start='2012-02-10', Finish='2012-02-17', Resource="giraffes"),
    dict(Task="SF Zoo", Start='2012-02-6', Finish='2012-02-22', Resource="orangutans"),
    dict(Task="SF Zoo", Start='2012-02-28', Finish='2012-03-07', Resource="monkeys")
])

fig = px.timeline(df, x_start="Start", x_end="Finish", y="Resource", color="Task")
fig.show()

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM