여러 개의 도표에서 공통된 양정 슬라이더를 사용하다

[ptyhon] plotly 사용법 여러 시간 시퀀스 데이터를 처리할 때 공통된 양정 슬라이더를 사용할 생각은 없으십니까?


제비를 뽑다

  • 환경
  • 모듈의 가져오기 및 분석 데이터 읽기
  • 한 표로 두 개의 데이터를 표시한다
  • 4.여러 테이블에서 스레드 슬라이더 공유
  • 1. 환경


    anaconda
    jupyterLab 32.9
    데이터:hite(TX02)에서 얻은 심장박동, 습도, 체온 데이터(2회분 배열)사용 중입니다.
    데스크톱에 테스트 폴더를 만들고 test.csv의 이름으로 저장합니다.
    사용자:use1

    2. 모듈 가져오기 및 분석 데이터 읽기


    # モジュールのインポート
    import plotly.express as px
    import plotly.graph_objects as go
    import pandas as pd
    import plotly.io as pio
    
    # データの読み込み
    in_file = "C:\\Users\\user1\\Desktop\\test\\test.csv" 
    df = pd.read_csv(in_file)
    
    df가 성공적으로 정의되었는지 확인test.csv
    display(df)
    
    이렇게 출력했어요.
    이번에 사용한 데이터는 빨간 테두리로 둘러싸인 부분이다.

    3.2 두 데이터를 하나의 표로 표시


    심장 박동률을 한 표로 나타내는 두 가지 데이터.전자레인지 슬라이더도 넣어야 돼.
    fig = go.Figure()
    name = "hr"
    a1 = "first_" + name
    a2 = "second_" + name
    for i in [a1, a2]:
        fig.add_trace(go.Scatter(x=df['time'], y=df[i],
                            mode='lines', # 'lines' or 'markers'
                            name=i))
    # fig.show()
    
    # y軸の範囲設定を追加する
    fig.update_yaxes(range=(60, 120))
    
    # 凡例の位置を指定する
    fig.update_layout(legend=dict(x=0.99,          # ①:X座標
                                  y=0.99,          # ①:Y座標
                                  xanchor='right',  # ②:X座標が凡例のどの部分を表すか
                                  yanchor='top',   # ②:Y座標が凡例のどの部分を表すか
                                  orientation='h', # ③:凡例を横並びにする
                                  ))
    
    # タイトルの大きさと位置を指定する。
    fig.update_layout(title=dict(text="心拍",
                                 font=dict(size=15,
                                           color='grey'),
                                 y=0.88
                                )
                      )
    
    # レンジスライダーを追加する
    fig.update_layout(xaxis_rangeslider=dict(visible=True))
    
    파일에 씁니다.브라우저에)를 표시합니다.
    from plotly import offline
    offline.plot(fig)
    

    이 데이터는 노란색의 그림자에 저장된다.

    4. 여러 테이블에서 스레드 슬라이더 공유


    같은 규모로 비교하고 싶은데.마지막으로 전자레인지 슬라이더를 공유하는 방법을 소개한다.
    첫 번째 정의fig = make_subplots가 포인트!
    fig = go.Figure()
    
    fig = make_subplots(
        rows=3, cols=1,
        subplot_titles=("心拍", "湿度", "体温"),
        row_heights=[0.4,0.3,0.3],
        shared_xaxes=True,
    ).update_layout(xaxis_rangeslider=dict(visible=True))
    
    ##############
    # 心拍
    name = "hr"
    a1 = "first_" + name
    a2 = "second_" + name
    for i in [a1, a2]:
        fig.add_trace(go.Scatter(x=df['time'], y=df[i],
                            mode='lines', # 'lines' or 'markers'
                            name=i), row=1, col=1)
    ##############
    # 湿度
    name = "hum"
    a1 = "first_" + name
    a2 = "second_" + name
    for i in [a1, a2]:
        fig.add_trace(go.Scatter(x=df['time'], y=df[i],
                            mode='lines', # 'lines' or 'markers'
                            name=i), row=2, col=1)
    ##############
    # 体温
    name = "tem"
    a1 = "first_" + name
    a2 = "second_" + name
    for i in [a1, a2]:
        fig.add_trace(go.Scatter(x=df['time'], y=df[i],
                            mode='lines', # 'lines' or 'markers'
                            name=i), row=3, col=1)
    ##############
    fig.show()
    
    이런 느낌이에요.아궁이 슬라이더의 위치가 좀 신경 쓰이지만 변경하는 방법을 아시면 알려주세요(-).

    좋은 웹페이지 즐겨찾기