簡體   English   中英

在情節線圖中,有沒有辦法設置情節不加入不同標簽之間的間隙?

[英]In plotly line plot, is there a way to set plotly to not join the gaps between different labels?

我已經為我的問題附上了屏幕截圖,但基本上這是受試者清醒和睡着時的活動數據,紅色是他睡着時的活動數據。 有沒有辦法不讓藍線相互連接?


px.line(df["Axis1"], color = df["is_asleep"])

劇情截圖

排除節假日和一天中某些時間的功能已添加為范圍破壞功能。 但是,這僅在一個時間序列數據缺失時有效,並且在您的數據示例中,將繪制第一個時間序列、下一個時間序列和最后一個時間序列。 由於您沒有提供任何數據,我將創建類似的數據來說明。

import pandas as pd
import numpy as np

# sample data
df1 = pd.DataFrame({'time':pd.date_range('2022-06-01 00:00:00', '2022-06-01 12:00:00', freq='10min'), 'name':['a']*73, 'value': np.random.randint(0,3000,73)})
df2 = pd.DataFrame({'time':pd.date_range('2022-06-01 12:00:00', '2022-06-02 00:00:00', freq='10min'), 'name':['br']*73, 'value': np.random.randint(0,1000,73)})
df3 = pd.DataFrame({'time':pd.date_range('2022-06-02 00:00:00', '2022-06-02 12:00:00', freq='10min'), 'name':['a']*73, 'value': np.random.randint(0,3000,73)})
df = pd.concat([df1,df2,df3], axis=0, ignore_index=True)

import plotly.express as px

px.line(df, x=df['time'], y=df['value'], color='name')

在此處輸入圖像描述

 # use rangebreaks

fig = px.line(df, x=df['time'], y=df['value'], color='name')

fig.update_xaxes(
    rangebreaks=[
        dict(bounds=[12,0], pattern='hour')
    ]
)
fig.show()

在此處輸入圖像描述

import plotly.graph_objects as go

fig = go.Figure()
fig.add_trace(go.Scatter(
    mode='lines',
    x=df1['time'],
    y=df1['value'],
    line=dict(
        color='blue',
        width=2,
        ),
    name='a'
    )
)

fig.add_trace(go.Scatter(
    mode='lines',
    x=df2['time'],
    y=df2['value'],
    line=dict(
        color='red',
        width=2,
        ),
    name='br'
    )
)

fig.add_trace(go.Scatter(
    mode='lines',
    x=df3['time'],
    y=df3['value'],
    line=dict(
        color='blue',
        width=2,
        ),
    name='a',
    showlegend=False,
    )
)

fig.show()

在此處輸入圖像描述

暫無
暫無

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

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