histlearn commited on
Commit
b5b691a
·
verified ·
1 Parent(s): ab7478b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -21
app.py CHANGED
@@ -82,31 +82,14 @@ def obter_disciplinas_validas(df):
82
  if pd.isna(disciplina) or disciplina == '':
83
  continue
84
 
85
- notas = pd.to_numeric(row[colunas_notas], errors='coerce').fillna(0)
86
- freq = pd.to_numeric(row[colunas_freq], errors='coerce').fillna(0)
87
 
88
  if (notas > 0).any() or (freq > 0).any():
89
  disciplinas_validas.append(disciplina)
90
 
91
  return disciplinas_validas
92
 
93
- def gerar_paleta_cores(n_cores):
94
- """Gera uma paleta de cores distintas para o número de disciplinas."""
95
- cores_base = [
96
- '#DC143C', '#4169E1', '#9370DB', '#32CD32', '#FF8C00',
97
- '#00CED1', '#FF69B4', '#8B4513', '#4B0082', '#556B2F',
98
- '#B8860B', '#483D8B', '#008B8B', '#8B008B', '#8B0000'
99
- ]
100
-
101
- # Se precisar de mais cores, gerar automaticamente
102
- if n_cores > len(cores_base):
103
- HSV_tuples = [(x/n_cores, 0.8, 0.9) for x in range(n_cores)]
104
- cores_extras = ['#%02x%02x%02x' % tuple(int(x*255) for x in colorsys.hsv_to_rgb(*hsv))
105
- for hsv in HSV_tuples]
106
- return cores_extras
107
-
108
- return cores_base[:n_cores]
109
-
110
  def plotar_evolucao_bimestres(df_filtrado, temp_dir):
111
  """Plota gráfico de evolução das notas por bimestre."""
112
  # Obter disciplinas válidas
@@ -133,11 +116,13 @@ def plotar_evolucao_bimestres(df_filtrado, temp_dir):
133
  dados_disciplina = df_filtrado[df_filtrado['Disciplina'] == disciplina]
134
  if not dados_disciplina.empty:
135
  notas = dados_disciplina[colunas_notas].values[0]
136
- notas_validas = pd.to_numeric(notas, errors='coerce').fillna(0) > 0
 
 
137
 
138
  if any(notas_validas):
139
  bimestres = np.arange(1, len(colunas_notas) + 1)[notas_validas]
140
- notas_filtradas = pd.to_numeric(notas[notas_validas], errors='coerce').fillna(0)
141
 
142
  plt.plot(bimestres, notas_filtradas,
143
  color=cores[idx % len(cores)],
@@ -154,6 +139,7 @@ def plotar_evolucao_bimestres(df_filtrado, temp_dir):
154
  xytext=(0, 5),
155
  ha='center',
156
  fontsize=8)
 
157
 
158
  plt.title('Evolução das Médias por Disciplina ao Longo dos Bimestres')
159
  plt.xlabel('Bimestres')
 
82
  if pd.isna(disciplina) or disciplina == '':
83
  continue
84
 
85
+ notas = row[colunas_notas].astype(float)
86
+ freq = row[colunas_freq].astype(float)
87
 
88
  if (notas > 0).any() or (freq > 0).any():
89
  disciplinas_validas.append(disciplina)
90
 
91
  return disciplinas_validas
92
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93
  def plotar_evolucao_bimestres(df_filtrado, temp_dir):
94
  """Plota gráfico de evolução das notas por bimestre."""
95
  # Obter disciplinas válidas
 
116
  dados_disciplina = df_filtrado[df_filtrado['Disciplina'] == disciplina]
117
  if not dados_disciplina.empty:
118
  notas = dados_disciplina[colunas_notas].values[0]
119
+ # Converter para Series do pandas
120
+ notas_series = pd.Series(notas)
121
+ notas_validas = pd.to_numeric(notas_series, errors='coerce').replace([np.nan, 0], 0) > 0
122
 
123
  if any(notas_validas):
124
  bimestres = np.arange(1, len(colunas_notas) + 1)[notas_validas]
125
+ notas_filtradas = pd.to_numeric(notas_series[notas_validas], errors='coerce').fillna(0)
126
 
127
  plt.plot(bimestres, notas_filtradas,
128
  color=cores[idx % len(cores)],
 
139
  xytext=(0, 5),
140
  ha='center',
141
  fontsize=8)
142
+
143
 
144
  plt.title('Evolução das Médias por Disciplina ao Longo dos Bimestres')
145
  plt.xlabel('Bimestres')