如何在python中使用plotly express inside while loop绘制指示器

如何在python中使用plotly express inside while loop绘制指示器,python,pandas,loops,plotly,plotly-express,Python,Pandas,Loops,Plotly,Plotly Express,我有一个代码,可以使用plotly express绘制图表,以可视化数据框中的数据,其中我希望在同一页面上显示我使用的make_子图的多个绘图 问题在于,如果指示器显示在彼此的上方,则无法正确显示指示器的打印。 代码: 将熊猫作为pd导入 作为cf导入袖扣 绘声绘色地导入 将plotly.offline作为py导入 将plotly.express导入为px 导入plotly.graph_objs作为go 从plotly.subplot导入make_子地块 df=pd.DataFrame({'e

我有一个代码,可以使用plotly express绘制图表,以可视化数据框中的数据,其中我希望在同一页面上显示我使用的make_子图的多个绘图

问题在于,如果指示器显示在彼此的上方,则无法正确显示指示器的打印。

代码:
将熊猫作为pd导入
作为cf导入袖扣
绘声绘色地导入
将plotly.offline作为py导入
将plotly.express导入为px
导入plotly.graph_objs作为go
从plotly.subplot导入make_子地块
df=pd.DataFrame({'event_type':['type1','type1','type3','type2','type3'],
“年/月”:[“2020/07”、“2020/08”、“2020/08”、“2020/07”、“2020/08”],
“loc1”、“loc3”、“loc2”、“loc5”、“loc4”],
“人数:[24,39,20,10,33],})
mxgroup=pd.交叉表(df['年\月'],df['事件\类型]).agg(“总和”)
行数=2
cols=5
规格=[
[{“类型”:“指标”},{“类型”:“指标”},{“类型”:“指标”},{“类型”:“指标”},{“类型”:“指标”},{“类型”:
“指标”}],
[{“类型”:“散布”,“colspan”:5},无,无,无,无]
]
图=生成子图(
行=行,
cols=cols,
规格=规格,
垂直间距=0.005,
打印网格=真
)
i=0
而我
import pandas as pd
import cufflinks as cf
import plotly
import plotly.offline as py
import plotly.express as px 
import plotly.graph_objs as go
from plotly.subplots import make_subplots
        
df = pd.DataFrame({'event_type': ['type1 ', 'type1', 'type3','type2','type3'], 
               'year_month': ['2020/07', '2020/08', '2020/08','2020/07','2020/08'],
                'event_mohafaza':['loc1','loc3','loc2','loc5','loc4'],
                 ' number_person ':[24,39,20,10,33],})
        
        
mxgroup=pd.crosstab(df['year_month'], df['event_type']).agg("sum")
rows = 2
cols = 5
specs=[
       [{"type": "indicator"},{"type": "indicator"},{"type": "indicator"},{"type": "indicator"},{"type": 
         "indicator"}],
           [{"type": "Scatter",'colspan':5},None,None,None,None]
       ]
        
figure = make_subplots(
     rows=rows,
     cols=cols,
     specs=specs,
     vertical_spacing=0.005,
     print_grid=True
)
i=0
while i <len(mxgroup) :
          row = i // cols + 1
          col = (i  % rows ) + 1
          
          figure.add_trace(go.Indicator(
                 mode="number",
                 value=mxgroup.values[i],
                 title=mxgroup.keys()[i],
           ),
           row=row, 
           col=col
          )
          i+=1
    
grouped_df=pd.crosstab(df['year_month'], df[item1])    
for  x in grouped_df.columns:                
     figure.add_trace(go.Line(name=str(x), x=grouped_df.index, y=grouped_df[x]))
    
     figure.update_layout(height = 1100,
                         width = 1200,
                         autosize = False,
                         title = "{} over year-month".format(item1),
                         title_x=0.5,
                         xaxis=dict(
                               title="Year-Month",
                               showgrid = False
                               ),
                         yaxis=dict(
                               title="Number of person",
                               showgrid = False
                               ),
                         plot_bgcolor="white",
                         margin = dict(autoexpand = True, l=100,r=350,t=100,b=550,)
    )
plotly.offline.plot(figure)