如何在 Plotly 图表中按天显示数据
How to show data by day in a Plotly chart
我有一个包含每天接种疫苗人数的数据框,我试图将此数据放入 Plotly 的每日条形图中,但它每大约 13 天汇总一次数据。我不想要这样的聚合视图,我需要它来显示每天的柱状图。
下面是部分数据框和代码。
grafico = px.histogram(df.query('dose_vacina == "1ª Dose"'), x = "data_aplicacao_vacina", y = "doses_totais", color = "nome_fabricante_vacina",
color_discrete_map={
"AstraZeneca": "#00CC96",
"Coronavac": "#EF553B",
"Pfizer": "#AB63FA"},
title="Aplicação diária da 1ª dose, em Alagoas",
hover_name="nome_fabricante_vacina", hover_data=["nome_fabricante_vacina"])
grafico.show()
解决方案 1
您可以手动设置垃圾箱的宽度:
grafico.update_traces(xbins_size=1)
解决方案 2
您可以传递一个名为 nbins 的参数。如果您将 nbins 设置为天数,您将每天获得一个柱状图。你可以试试
days = df['data_aplicacao_vacina'].unique().size
grafico = px.histogram(df.query('dose_vacina == "1ª Dose"'), x = "data_aplicacao_vacina", y = "doses_totais", color = "nome_fabricante_vacina",
color_discrete_map={
"AstraZeneca": "#00CC96",
"Coronavac": "#EF553B",
"Pfizer": "#AB63FA"},
title="Aplicação diária da 1ª dose, em Alagoas",
hover_name="nome_fabricante_vacina", hover_data=["nome_fabricante_vacina"],
nbins=days)
grafico.show()
我有一个包含每天接种疫苗人数的数据框,我试图将此数据放入 Plotly 的每日条形图中,但它每大约 13 天汇总一次数据。我不想要这样的聚合视图,我需要它来显示每天的柱状图。
下面是部分数据框和代码。
grafico = px.histogram(df.query('dose_vacina == "1ª Dose"'), x = "data_aplicacao_vacina", y = "doses_totais", color = "nome_fabricante_vacina",
color_discrete_map={
"AstraZeneca": "#00CC96",
"Coronavac": "#EF553B",
"Pfizer": "#AB63FA"},
title="Aplicação diária da 1ª dose, em Alagoas",
hover_name="nome_fabricante_vacina", hover_data=["nome_fabricante_vacina"])
grafico.show()
解决方案 1
您可以手动设置垃圾箱的宽度:
grafico.update_traces(xbins_size=1)
解决方案 2
您可以传递一个名为 nbins 的参数。如果您将 nbins 设置为天数,您将每天获得一个柱状图。你可以试试
days = df['data_aplicacao_vacina'].unique().size
grafico = px.histogram(df.query('dose_vacina == "1ª Dose"'), x = "data_aplicacao_vacina", y = "doses_totais", color = "nome_fabricante_vacina",
color_discrete_map={
"AstraZeneca": "#00CC96",
"Coronavac": "#EF553B",
"Pfizer": "#AB63FA"},
title="Aplicação diária da 1ª dose, em Alagoas",
hover_name="nome_fabricante_vacina", hover_data=["nome_fabricante_vacina"],
nbins=days)
grafico.show()