如何在python中使用plotly express inside while loop绘制指示器
我有一个代码,可以使用plotly express绘制图表,以可视化数据框中的数据,其中我希望在同一页面上显示我使用的make_子图的多个绘图 问题在于,如果指示器显示在彼此的上方,则无法正确显示指示器的打印。 代码:如何在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
将熊猫作为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)