DmitrMakeev commited on
Commit
f1dd885
·
verified ·
1 Parent(s): 8324e2e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -12
app.py CHANGED
@@ -338,7 +338,7 @@ def plot_ph_week():
338
 
339
  # Выбираем данные за выбранную неделю
340
  cursor.execute('''
341
- SELECT date_time, ph, dey
342
  FROM system_data
343
  WHERE wek = ?
344
  ORDER BY date_time
@@ -360,21 +360,35 @@ def plot_ph_week():
360
  </html>
361
  '''
362
 
363
- # Формируем данные для графика
364
- dates = [f"{row[0]} (d: {row[2]})" for row in rows]
365
  ph_values = [float(row[1]) for row in rows]
 
366
 
367
- # Создаём график
368
- plt.figure(figsize=(15, 6))
369
- plt.plot(dates, ph_values, linestyle='-', color='b') # Убрал маркеры
 
 
 
370
  plt.title(f'График pH за {week_number}-ю неделю')
371
  plt.xlabel('Дата и день недели')
372
  plt.ylabel('Значение pH')
373
- plt.xticks(rotation=90, fontsize=8) # Уменьшил шрифт на 40%
 
 
 
 
 
 
 
 
 
374
  plt.grid(True)
 
375
  plt.gcf().subplots_adjust(bottom=0.4)
376
 
377
- # Сохраняем график в буфер
378
  buffer = io.BytesIO()
379
  plt.savefig(buffer, format='png')
380
  buffer.seek(0)
@@ -382,15 +396,15 @@ def plot_ph_week():
382
  # Кодируем график в base64
383
  plot_data = base64.b64encode(buffer.getvalue()).decode('utf-8')
384
 
385
- # Возвращаем HTML с кнопками управления
386
  return f'''
387
  <html>
388
  <body>
389
- <h1>График pH за {week_number}-ю неделю</h1>
390
  <button onclick="window.location.href='/plot_ph_week?week={week_number - 1}'" {"disabled" if week_number == 1 else ""}>Предыдущая неделя</button>
391
  <button onclick="window.location.href='/plot_ph_week?week={week_number + 1}'" {"disabled" if week_number == 30 else ""}>Следующая неделя</button>
392
  <br><br>
393
- <img src="data:image/png;base64,{plot_data}" alt="График pH">
394
  </body>
395
  </html>
396
  '''
@@ -414,7 +428,6 @@ def plot_ph_week():
414
 
415
 
416
 
417
-
418
  @app.route("/")
419
  def index():
420
  return flask.render_template('index.html')
 
338
 
339
  # Выбираем данные за выбранную неделю
340
  cursor.execute('''
341
+ SELECT date_time, ph, ec, dey
342
  FROM system_data
343
  WHERE wek = ?
344
  ORDER BY date_time
 
360
  </html>
361
  '''
362
 
363
+ # Формируем данные для графиков
364
+ dates = [f"{row[0]} (d: {row[3]})" for row in rows]
365
  ph_values = [float(row[1]) for row in rows]
366
+ ec_values = [float(row[2]) for row in rows]
367
 
368
+ # Создаём графики
369
+ plt.figure(figsize=(15, 12)) # Увеличил высоту для двух графиков
370
+
371
+ # График pH
372
+ plt.subplot(2, 1, 1)
373
+ plt.plot(dates, ph_values, linestyle='-', color='b')
374
  plt.title(f'График pH за {week_number}-ю неделю')
375
  plt.xlabel('Дата и день недели')
376
  plt.ylabel('Значение pH')
377
+ plt.xticks(rotation=90, fontsize=8)
378
+ plt.grid(True)
379
+
380
+ # График EC
381
+ plt.subplot(2, 1, 2)
382
+ plt.plot(dates, ec_values, linestyle='-', color='g')
383
+ plt.title(f'График EC за {week_number}-ю неделю')
384
+ plt.xlabel('Дата и день недели')
385
+ plt.ylabel('Значение EC')
386
+ plt.xticks(rotation=90, fontsize=8)
387
  plt.grid(True)
388
+
389
  plt.gcf().subplots_adjust(bottom=0.4)
390
 
391
+ # Сохраняем графики в буфер
392
  buffer = io.BytesIO()
393
  plt.savefig(buffer, format='png')
394
  buffer.seek(0)
 
396
  # Кодируем график в base64
397
  plot_data = base64.b64encode(buffer.getvalue()).decode('utf-8')
398
 
399
+ # Возвращаем HTML
400
  return f'''
401
  <html>
402
  <body>
403
+ <h1>Графики pH и EC за {week_number}-ю неделю</h1>
404
  <button onclick="window.location.href='/plot_ph_week?week={week_number - 1}'" {"disabled" if week_number == 1 else ""}>Предыдущая неделя</button>
405
  <button onclick="window.location.href='/plot_ph_week?week={week_number + 1}'" {"disabled" if week_number == 30 else ""}>Следующая неделя</button>
406
  <br><br>
407
+ <img src="data:image/png;base64,{plot_data}" alt="Графики pH и EC">
408
  </body>
409
  </html>
410
  '''
 
428
 
429
 
430
 
 
431
  @app.route("/")
432
  def index():
433
  return flask.render_template('index.html')