#8735: Add SummaryPlotCollection multi plot commands and subplots

This commit is contained in:
Magne Sjaastad committed 2026-10-16 09:57:12 +02:00
1 parent 1272ec7bd0
commit fac5eb5f3b
9 files changed
+308 -22

No files matched your search

@@ -54,6 +54,7 @@
#include "RimProject.h"
#include "RimSummaryCase.h"
#include "RimSummaryCurve.h"
#include "RimSummaryEnsemble.h"
#include "RimSummaryMultiPlotCollection.h"
#include "RimSummaryPlot.h"
@@ -547,6 +548,30 @@ RimSummaryPlot* RicSummaryPlotFeatureImpl::createSummaryPlotForEnsemble( const s
return newPlot;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimSummaryPlot* RicSummaryPlotFeatureImpl::createSummaryPlotForEnsembles( const std::vector<RimSummaryEnsemble*>& ensembles,
QStringList summaryAddressFilters )
{
RimSummaryPlot* newPlot = new RimSummaryPlot();
newPlot->enableAutoPlotTitle( true );
for ( auto ensemble : ensembles )
{
if ( !ensemble ) continue;
auto addresses = applySummaryAddressFiltersToCases( ensemble->allSummaryCases(), summaryAddressFilters );
for ( const auto& addr : addresses )
{
newPlot->ensembleCurveSetCollection()->addCurveSet( createCurveSet( ensemble, addr, EnsembleColoringType::NONE, "" ) );
}
}
newPlot->applyDefaultCurveAppearances();
return newPlot;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -58,6 +58,9 @@ public:
EnsembleColoringType ensembleColoringStyle = EnsembleColoringType::NONE,
QString ensembleColoringParameter = "" );
// Creates one plot with one curve set per address and ensemble, to allow comparison of ensembles in the same plot
static RimSummaryPlot* createSummaryPlotForEnsembles( const std::vector<RimSummaryEnsemble*>& ensembles, QStringList summaryAddressFilters );
static RimSummaryPlot* createSummaryPlotForCases( const std::vector<RimSummaryCase*>& summaryCasesToUse,
QStringList summaryAddressFilters,
bool addHistoryCurves = false );