-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathplot_dadger.py
45 lines (37 loc) · 1.38 KB
/
plot_dadger.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
"""
========================================
Visualização de dados no dadger.rv0
========================================
"""
# %%
# O primeiro passo para realizar o processamento do arquivo, assim como os
# demais arquivos de saída, é a leitura.
from idecomp.decomp import Dadger
arq = Dadger.read("./decomp/dadger.rv0")
# %%
# O dadger, sendo um arquivo que se organiza por meio da declaração de registros, não
# possui, atualmente, uma interface que seja tabular. Desta forma, os métodos existentes
# retornam nenhum, um ou uma lista de objetos do registro específico solicitado.
termicas_semana1 = arq.ct(estagio=1)
print(len(termicas_semana1))
# %%
# Mesmo sem uma interface explícita para dados tabulares, os registros foram construídos
# com o uso de propriedades que devem facilitar o pós-processamento pelo usuário. Por exemplo,
# para gerar um gráfico comparativo de GT em relação ao CVU:
import plotly.express as px
import pandas as pd
gtmin_pat1 = [t.inflexibilidade[0] for t in termicas_semana1]
gtmax_pat1 = [t.disponibilidade[0] for t in termicas_semana1]
cvus_pat1 = [t.cvu[0] for t in termicas_semana1]
df = pd.DataFrame(data={"cvu": cvus_pat1, "gt": gtmax_pat1})
df.sort_values("cvu", inplace=True)
df["gt"] = df["gt"].cumsum()
df["gt"] += sum(gtmin_pat1)
# sphinx_gallery_thumbnail_number = 1
fig = px.line(
df,
x="gt",
y="cvu",
line_shape="hv",
)
fig