如何使用plotly和streamlight打印组

2024-04-25 12:26:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个由3列组成的数据框,我想绘制3列的交叉表结果

到目前为止,我能够绘制2列分组的条形图。在jupyter笔记本电脑上不使用Streamlight

当我尝试使用Streamlight时,它会显示以下错误:

TypeError: add_trace() missing 1 required positional argument: 'trace'

那么我的代码中的错误在哪里

代码:

import streamlit as st
import pandas as pd 
import plotly.express as px
import plotly.graph_objs as go

#create a canvas for each item
interactive =  st.beta_container()

df =pd.DataFrame({"source_number":[11199,11328,11287,32345,12342,1232,13456,123244,1235],
       "location":["loc1","loc2","loc3","loc1","loc1","loc2","loc3","loc2","loc1"],
       "category":["cat1","cat3","cat1","cat3","cat2","cat3","cat2","cat3","cat1"],
       }) 

all_columns_names= df.columns.tolist()
selected_column_names = st.multiselect("select column to plot",all_columns_names)

s = df[selected_column_names[0]].str.strip().value_counts()


with interactive:
    fig = go.Figure
    for name,group in df.groupby(selected_column_names[0]):
        trace =go.Histogram()
        trace.name = name 
        trace.x = group[selected_column_names[1]]
        fig.add_trace(trace)
    fig.show()
        

Tags: columnsimportgodfnamesasfigtrace
1条回答
网友
1楼 · 发布于 2024-04-25 12:26:01

这里可能有更多的内容,但您在这里缺少了()

with interactive:
    fig = go.Figure
    for name,group in df.groupby(selected_column_names[0]):

相关问题 更多 >