DmitrMakeev commited on
Commit
9f6adde
·
verified ·
1 Parent(s): 48865cf

Update plot_week.html

Browse files
Files changed (1) hide show
  1. plot_week.html +85 -64
plot_week.html CHANGED
@@ -186,70 +186,91 @@ document.addEventListener("DOMContentLoaded", function () {
186
  </div>
187
 
188
  <script>
189
- const data = {{ data | tojson }};
190
-
191
- function createChart(id, yData, title, yLabel, color) {
192
- Plotly.newPlot(id, [{
193
- x: data.dates,
194
- y: yData,
195
- type: "scatter",
196
- mode: "lines+markers",
197
- line: { color: color },
198
- hovertemplate: data.days_of_week.map((day, index) =>
199
- `Неделя: ${data.week}<br>День: ${day}<br>Время системы: ${data.sus[index]}<br>Насос A: %{y} сек.<br>Дата: ${data.dates[index]}`
200
- )
201
- }], {
202
- title: title,
203
- xaxis: { title: "", showticklabels: false },
204
- yaxis: { title: yLabel, titlefont: { size: 14 } },
205
- hovermode: "closest",
206
- showlegend: false
207
- });
208
- }
209
- createChart("ph_chart", data.ph, `График pH за ${data.week}-ю неделю`, "Уровень pH", "blue");
210
- createChart("ec_chart", data.ec, `График EC за ${data.week}-ю неделю`, "Уровень EC", "blue");
211
- createChart("ts_chart", data.tS, `Температура раствора за ${data.week}-ю неделю`, "Температура (°C)", "purple");
212
- createChart("ta_chart", data.tA, `Температура воздуха за ${data.week}-ю неделю`, "Температура (°C)", "purple");
213
- createChart("hdm_chart", data.hDm, `Влажность воздуха за ${data.week}-ю неделю`, "Влажность (%)", "purple");
214
- createChart("sven_chart", data.sVen, `Обороты вентилятора за ${data.week}-ю неделю`, "Обороты (%)", "purple");
215
- Plotly.newPlot("pump_chart", [
216
- {
217
- x: data.dates,
218
- y: data.onA,
219
- type: "scatter",
220
- mode: "lines+markers",
221
- line: { color: "green" },
222
- hovertemplate: data.days_of_week.map((day, index) =>
223
- `Неделя: ${data.week}<br>День: ${day}<br>Время системы: ${data.sus[index]}<br>Насос A: %{y} сек.<br>Дата: ${data.dates[index]}`
224
- )
225
- },
226
- {
227
- x: data.dates,
228
- y: data.onB,
229
- type: "scatter",
230
- mode: "lines+markers",
231
- line: { color: "brown" },
232
- hovertemplate: data.days_of_week.map((day, index) =>
233
- `Неделя: ${data.week}<br>День: ${day}<br>Время системы: ${data.sus[index]}<br>Насос A: %{y} сек.<br>Дата: ${data.dates[index]}`
234
- )
235
- },
236
- {
237
- x: data.dates,
238
- y: data.onC,
239
- type: "scatter",
240
- mode: "lines+markers",
241
- line: { color: "orange" },
242
- hovertemplate: data.days_of_week.map((day, index) =>
243
- `Неделя: ${data.week}<br>День: ${day}<br>Время системы: ${data.sus[index]}<br>Насос A: %{y} сек.<br>Дата: ${data.dates[index]}`
244
- )
245
- }
246
- ], {
247
- title: `Интервал дозирования насосов для ${data.week}-ой недели`,
248
- xaxis: { title: "", showticklabels: false },
249
- yaxis: { title: "Время ВКЛ(сек.)" },
250
- hovermode: "closest",
251
- showlegend: false
252
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
253
  </script>
254
  {% else %}
255
  <div class="no-data-message">
 
186
  </div>
187
 
188
  <script>
189
+ function createChart(id, yData, title, yLabel, color, parameterName, unit) {
190
+ const trace = {
191
+ x: data.dates,
192
+ y: yData,
193
+ type: "scatter",
194
+ mode: "lines+markers",
195
+ line: { color: color },
196
+ hovertemplate: data.dates.map((date, index) =>
197
+ `Неделя: ${data.week}<br>` +
198
+ `День: ${data.days_of_week[index]}<br>` +
199
+ `Время системы: ${data.sus[index]}<br>` +
200
+ `${parameterName}: ${yData[index]} ${unit}<br>` +
201
+ `Дата: ${date}<extra></extra>`
202
+ )
203
+ };
204
+
205
+ Plotly.newPlot(id, [trace], {
206
+ title: title,
207
+ xaxis: { title: "", showticklabels: false },
208
+ yaxis: { title: yLabel, titlefont: { size: 14 } },
209
+ hovermode: "closest",
210
+ showlegend: false
211
+ });
212
+ }
213
+
214
+ // Создание графиков с правильными подсказками
215
+ createChart("ph_chart", data.ph, `График pH за ${data.week}-ю неделю`, "Уровень pH", "blue", "pH", "");
216
+ createChart("ec_chart", data.ec, `График EC за ${data.week}-ю неделю`, "Уровень EC", "blue", "EC", "мкСм/см");
217
+ createChart("ts_chart", data.tS, `Температура раствора за ${data.week}-ю неделю`, "Температура (°C)", "purple", "Температура раствора", "°C");
218
+ createChart("ta_chart", data.tA, `Те��пература воздуха за ${data.week}-ю неделю`, "Температура (°C)", "purple", "Температура воздуха", "°C");
219
+ createChart("hdm_chart", data.hDm, `Влажность воздуха за ${data.week}-ю неделю`, "Влажность (%)", "purple", "Влажность воздуха", "%");
220
+ createChart("sven_chart", data.sVen, `Обороты вентилятора за ${data.week}-ю неделю`, "Обороты (%)", "purple", "Обороты вентилятора", "%");
221
+
222
+ // График насосов
223
+ Plotly.newPlot("pump_chart", [
224
+ {
225
+ x: data.dates,
226
+ y: data.onA,
227
+ type: "scatter",
228
+ mode: "lines+markers",
229
+ line: { color: "green" },
230
+ hovertemplate: data.dates.map((date, index) =>
231
+ `Неделя: ${data.week}<br>` +
232
+ `День: ${data.days_of_week[index]}<br>` +
233
+ `Время системы: ${data.sus[index]}<br>` +
234
+ `Насос A: ${data.onA[index]} сек.<br>` +
235
+ `Дата: ${date}<extra></extra>`
236
+ )
237
+ },
238
+ {
239
+ x: data.dates,
240
+ y: data.onB,
241
+ type: "scatter",
242
+ mode: "lines+markers",
243
+ line: { color: "brown" },
244
+ hovertemplate: data.dates.map((date, index) =>
245
+ `Неделя: ${data.week}<br>` +
246
+ `День: ${data.days_of_week[index]}<br>` +
247
+ `Время системы: ${data.sus[index]}<br>` +
248
+ `Насос B: ${data.onB[index]} сек.<br>` +
249
+ `Дата: ${date}<extra></extra>`
250
+ )
251
+ },
252
+ {
253
+ x: data.dates,
254
+ y: data.onC,
255
+ type: "scatter",
256
+ mode: "lines+markers",
257
+ line: { color: "orange" },
258
+ hovertemplate: data.dates.map((date, index) =>
259
+ `Неделя: ${data.week}<br>` +
260
+ `День: ${data.days_of_week[index]}<br>` +
261
+ `Время системы: ${data.sus[index]}<br>` +
262
+ `Насос C: ${data.onC[index]} сек.<br>` +
263
+ `Дата: ${date}<extra></extra>`
264
+ )
265
+ }
266
+ ], {
267
+ title: `Интервал дозирования насосов для ${data.week}-ой недели`,
268
+ xaxis: { title: "", showticklabels: false },
269
+ yaxis: { title: "Время ВКЛ(сек.)" },
270
+ hovermode: "closest",
271
+ showlegend: false
272
+ });
273
+
274
  </script>
275
  {% else %}
276
  <div class="no-data-message">