Как сделать столбцы видимыми в анимации гистограммы?Python

Программы на Python
Ответить
Anonymous
 Как сделать столбцы видимыми в анимации гистограммы?

Сообщение Anonymous »

Я пытаюсь создать анимацию гистограммы, на которой медленно будет отображаться каждый столбец, но не могу заставить ее работать должным образом. Когда я запускаю код, полоса кажется очень тонкой, а затем исчезает, показывая следующую очень тонкую полосу. Я хочу, чтобы полосы были видимыми и оставались, чтобы, когда анимация закончится, все они были на месте. Ниже приведена часть моего кода:

Код: Выделить всё

import pandas as pd
import numpy as np
import datetime
import plotly.graph_objects as go
import plotly.express as px
import plotly.io as pio
import streamlit as st
pio.renderers.default = 'notebook'

with tab1:
st.title('Vendas diárias para o Mês Atual')
fig1 = px.bar(df_agrupado, x='dt_emissao', y='lct_preco_item', text='lct_preco_item',
animation_frame='dt_emissao', range_y=[0, 50000])
fig1.update_traces(texttemplate='%{text:.2s}', textposition='outside')
fig1.update_layout(
xaxis=dict(
tickmode='array',
tickvals=df_agrupado['dt_emissao'],
ticktext=[date.strftime('%d') for date in df_agrupado['dt_emissao']],
range=[df_agrupado['dt_emissao'].min(), df_agrupado['dt_emissao'].max()]  # Set x-axis range
),
bargap=0.2,  # Adjust the gap between bars
bargroupgap=0.1,  # Adjust the gap between groups of bars
xaxis_title='',  # Remove x-axis label
yaxis_title=''   # Remove y-axis label
)
fig1.add_shape(
type='line',
x0=df_agrupado['dt_emissao'].min(),
y0=media_vendas,
x1=df_agrupado['dt_emissao'].max(),
y1=media_vendas,
line=dict(color='Red', dash='dash'),
)
fig1.add_shape(
type='line',
x0=df_agrupado['dt_emissao'].min(),
y0=meta_diaria,
x1=df_agrupado['dt_emissao'].max(),
y1=meta_diaria,
line=dict(color='Green', dash='dash'),
)
fig1.add_annotation(
x=df_agrupado['dt_emissao'].max(),
y=media_vendas,
text=f'Média: {int(media_vendas/1000)}k',
showarrow=False,
yshift=10
)
fig1.add_annotation(
x=df_agrupado['dt_emissao'].max(),
y=meta_diaria,
text=f'Meta Diária: {int(meta_diaria/1000)}k',
showarrow=False,
yshift=10
)
st.plotly_chart(fig1, key='fig1')
Я делаю это в приложении с потоковой подсветкой. Будем благодарны за любую помощь!
Изображение


Подробнее здесь: https://stackoverflow.com/questions/792 ... -animation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»