vsmoreira commited on
Commit
5d7954f
·
1 Parent(s): bd784da

Ajustes no dashboard

Browse files
Files changed (1) hide show
  1. dashboard.py +21 -21
dashboard.py CHANGED
@@ -89,6 +89,27 @@ if st.sidebar.button('Executar Simulação'):
89
  if convocados_99 is not None:
90
  col2.metric("Mínimo para 99% de chance", f"{int(convocados_99['num_convocados'])} convocados")
91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
 
93
  # Gráfico Principal
94
  st.subheader('Probabilidade de Confirmação vs. Número de Convocados')
@@ -119,27 +140,6 @@ if st.sidebar.button('Executar Simulação'):
119
  st.pyplot(fig1)
120
 
121
 
122
- # Gráfico de Distribuição Binomial
123
- st.subheader('Análise da Distribuição de Alunos')
124
- st.markdown("Selecione um número de convocados para visualizar a distribuição esperada de alunos que comparecerão.")
125
-
126
- num_conv_dist = st.slider('Número de Convocados para Análise da Distribuição', min_value=min_inscritos_teste, max_value=max_inscritos_teste, value=int(convocados_min_req['num_convocados']) if convocados_min_req is not None else min_inscritos_teste)
127
-
128
- confirmados_dist = np.random.binomial(n=num_conv_dist, p=prob_confirmacao, size=num_simulacoes)
129
- comparecem_dist = np.random.binomial(n=confirmados_dist, p=prob_comparecimento, size=num_simulacoes)
130
-
131
- valor_esperado = num_conv_dist * prob_confirmacao * prob_comparecimento
132
-
133
- fig2, ax2 = plt.subplots(figsize=(14, 7))
134
- sns.histplot(comparecem_dist, kde=True, stat="probability", discrete=True, ax=ax2)
135
- ax2.axvline(valor_esperado, color='red', linestyle='--', linewidth=2, label=f'Valor Esperado: {valor_esperado:.2f}')
136
- ax2.axvline(vagas_minimas_necessarias, color='purple', linestyle=':', linewidth=2, label=f'Mínimo Necessário: {vagas_minimas_necessarias}')
137
-
138
- ax2.set_title(f'Distribuição Simulada de Comparecimento para {num_conv_dist} Convocados', fontsize=16)
139
- ax2.set_xlabel(f'Número de Alunos que Comparecem', fontsize=12)
140
- ax2.set_ylabel('Probabilidade (Frequência Relativa)', fontsize=12)
141
- ax2.legend()
142
- st.pyplot(fig2)
143
 
144
  # Tabela de Resultados
145
  st.subheader('Tabela de Resultados Detalhados')
 
89
  if convocados_99 is not None:
90
  col2.metric("Mínimo para 99% de chance", f"{int(convocados_99['num_convocados'])} convocados")
91
 
92
+ # Gráfico de Distribuição Binomial
93
+ st.subheader('Análise da Distribuição de Alunos')
94
+ st.markdown("Distribuição das probabilidades de sucesso para o número de convocados dentro do total de vagas disponíveis")
95
+
96
+ num_conv_dist = total_vagas
97
+
98
+ confirmados_dist = np.random.binomial(n=num_conv_dist, p=prob_confirmacao, size=num_simulacoes)
99
+ comparecem_dist = np.random.binomial(n=confirmados_dist, p=prob_comparecimento, size=num_simulacoes)
100
+
101
+ valor_esperado = num_conv_dist * prob_confirmacao * prob_comparecimento
102
+
103
+ fig2, ax2 = plt.subplots(figsize=(14, 7))
104
+ sns.histplot(comparecem_dist, kde=True, stat="probability", discrete=True, ax=ax2)
105
+ ax2.axvline(valor_esperado, color='red', linestyle='--', linewidth=2, label=f'Valor Esperado: {valor_esperado:.2f}')
106
+ ax2.axvline(vagas_minimas_necessarias, color='purple', linestyle=':', linewidth=2, label=f'Mínimo Necessário: {vagas_minimas_necessarias}')
107
+
108
+ ax2.set_title(f'Distribuição Simulada de Comparecimento para {num_conv_dist} Convocados', fontsize=16)
109
+ ax2.set_xlabel(f'Número de Alunos que Comparecem', fontsize=12)
110
+ ax2.set_ylabel('Probabilidade (Frequência Relativa)', fontsize=12)
111
+ ax2.legend()
112
+ st.pyplot(fig2)
113
 
114
  # Gráfico Principal
115
  st.subheader('Probabilidade de Confirmação vs. Número de Convocados')
 
140
  st.pyplot(fig1)
141
 
142
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143
 
144
  # Tabela de Resultados
145
  st.subheader('Tabela de Resultados Detalhados')