Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -177,7 +177,8 @@ def get_all_data():
|
|
| 177 |
return jsonify({'status': 'error', 'message': str(e)}), 500
|
| 178 |
|
| 179 |
|
| 180 |
-
|
|
|
|
| 181 |
@app.route('/plot_ph', methods=['GET'])
|
| 182 |
def plot_ph():
|
| 183 |
try:
|
|
@@ -194,9 +195,9 @@ def plot_ph():
|
|
| 194 |
if not rows:
|
| 195 |
return jsonify({'status': 'error', 'message': 'Нет данных для построения графика'}), 400
|
| 196 |
|
| 197 |
-
# Разделяем данные на
|
| 198 |
-
dates = [row[0] for row in rows]
|
| 199 |
-
ph_values = [float(row[1]) for row in rows]
|
| 200 |
|
| 201 |
# Создаем график
|
| 202 |
plt.figure(figsize=(10, 6))
|
|
@@ -204,9 +205,13 @@ def plot_ph():
|
|
| 204 |
plt.title('График значений pH')
|
| 205 |
plt.xlabel('Дата и время')
|
| 206 |
plt.ylabel('Значение pH')
|
| 207 |
-
plt.xticks(rotation=45)
|
| 208 |
plt.grid(True)
|
| 209 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 210 |
# Сохраняем график в буфер
|
| 211 |
buffer = io.BytesIO()
|
| 212 |
plt.savefig(buffer, format='png')
|
|
|
|
| 177 |
return jsonify({'status': 'error', 'message': str(e)}), 500
|
| 178 |
|
| 179 |
|
| 180 |
+
|
| 181 |
+
# Маршрут для вывода графика pH с датой и временем
|
| 182 |
@app.route('/plot_ph', methods=['GET'])
|
| 183 |
def plot_ph():
|
| 184 |
try:
|
|
|
|
| 195 |
if not rows:
|
| 196 |
return jsonify({'status': 'error', 'message': 'Нет данных для построения графика'}), 400
|
| 197 |
|
| 198 |
+
# Разделяем данные на дату и время
|
| 199 |
+
dates = [row[0] for row in rows] # Дата и время
|
| 200 |
+
ph_values = [float(row[1]) for row in rows] # Значения pH
|
| 201 |
|
| 202 |
# Создаем график
|
| 203 |
plt.figure(figsize=(10, 6))
|
|
|
|
| 205 |
plt.title('График значений pH')
|
| 206 |
plt.xlabel('Дата и время')
|
| 207 |
plt.ylabel('Значение pH')
|
| 208 |
+
plt.xticks(rotation=45) # Поворачиваем подписи оси X для удобства чтения
|
| 209 |
plt.grid(True)
|
| 210 |
|
| 211 |
+
# Добавляем подсказки с временем для каждой точки
|
| 212 |
+
for i, (date_time, ph) in enumerate(zip(dates, ph_values)):
|
| 213 |
+
plt.annotate(f'{date_time}', (date_time, ph), textcoords="offset points", xytext=(0, 10), ha='center')
|
| 214 |
+
|
| 215 |
# Сохраняем график в буфер
|
| 216 |
buffer = io.BytesIO()
|
| 217 |
plt.savefig(buffer, format='png')
|