簡體   English   中英

繪圖設置圖中的跟蹤位置

[英]Plotly Set Trace Position in a Figure

我是 Plotly 的新手,我想知道是否有辦法指定新跟蹤需要在 Figure 對象內居中的位置。

為了更清楚,這是一個例子:

import plotly.express as px
import plotly.graph_objects as go

df = pd.DataFrame(something)

fig = go.Figure()
for i in [40,45,50]:
    fig.add_shape(
        go.layout.Shape(
            type='line',
            xref='x',
            yref='y',
            x0=line_data[i]["min"],
            y0=i,
            x1=line_data[i]["max"],
            y1=i,
        ),
    )
    
fig.add_trace(
    go.Scatter(
        x=df.ColA.values, 
        y=df.ColB.values,
        mode='markers',
    )
)

這是結果在此處輸入圖片說明

我的目標是構建每條水平線中點的直方圖

我不知道是否有一個更好更快的方式,但我的想法是在每行增加更多的痕跡,每一個與直方圖,然后這些中心的痕跡。 有沒有辦法做到這一點? 也許是軌跡的一些位置參數,比如 (xcenter=7.5, ycenter=50)?

我的理想結果應該是: 在此處輸入圖片說明

  • 您描述了直方圖/頻率多個觀察到的項目
  • 已使用base 將這些映射到y 軸
import numpy as np
import plotly.graph_objects as go
df = pd.DataFrame({40:np.random.normal(5,2, 200).astype(int),50:np.random.normal(6,2, 200).astype(int),60:np.random.normal(6.5,2, 200).astype(int)})

# change to frequency of observed values
df2 = df[40].value_counts().to_frame().join(df[50].value_counts(), how="outer").join(df[60].value_counts(), how="outer")

# plot bar of frequency,  setting base based on observation
fig = go.Figure([go.Bar(x=df2.index, y=df2[c]/len(df2), base=c, name=c) for c in df2.columns])
fig.update_layout(barmode="overlay")

在此處輸入圖片說明

暫無
暫無

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

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