Skip to content

Commit c20f15a

Browse files
authored
Merge pull request #125 from BuildingEnergySimulationTools/fmu_names-of-functions-in-plots
Fmu names of functions in pcp plots
2 parents 6167d3f + 2dc44d7 commit c20f15a

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

corrai/sampling.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -964,7 +964,15 @@ def plot_pcp(
964964
results = pd.DataFrame()
965965
for config in indicators_configs:
966966
col, func, *extra = config
967-
results[f"{func}_{col}"] = self.get_aggregated_time_series(
967+
if extra and isinstance(extra[0], str):
968+
name = extra[0]
969+
elif callable(func):
970+
name = func.__name__
971+
elif isinstance(func, str):
972+
name = func
973+
else:
974+
raise TypeError(f"Invalid aggregation function: {func}")
975+
results[f"{name}_{col}"] = self.get_aggregated_time_series(
968976
col, func, reference_time_series=None if not extra else extra[0]
969977
)
970978
else:

tests/test_sampling.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,15 @@ def test_plot_pcp_in_sampler(self):
378378
assert isinstance(fig, go.Figure)
379379
assert len(fig.data) == 1
380380

381+
def last_val(x):
382+
return x.iloc[-1]
383+
384+
fig2 = sampler.sample.plot_pcp([("res", last_val)])
385+
386+
dims2 = fig2.data[0]["dimensions"]
387+
labels2 = [d["label"] for d in dims2]
388+
assert "last_val_res" in labels2
389+
381390
def test_lhs_sampler(self):
382391
# Dynamic
383392
sampler = LHSSampler(

0 commit comments

Comments
 (0)