mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Improve consistency of correlation plots
This commit is contained in:
parent
4f36332e52
commit
ae7c4d9e31
@ -86,7 +86,7 @@ void RimAbstractCorrelationPlot::setCurveDefinitions( const std::vector<RiaSumma
|
|||||||
auto timeSteps = allAvailableTimeSteps();
|
auto timeSteps = allAvailableTimeSteps();
|
||||||
if ( m_timeStep().isNull() && !timeSteps.empty() )
|
if ( m_timeStep().isNull() && !timeSteps.empty() )
|
||||||
{
|
{
|
||||||
m_timeStep = QDateTime::fromTime_t( *timeSteps.rbegin() );
|
m_timeStep = RiaQDateTimeTools::fromTime_t( *timeSteps.rbegin() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ void RimAbstractCorrelationPlot::setCurveDefinitions( const std::vector<RiaSumma
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimAbstractCorrelationPlot::setTimeStep( std::time_t timeStep )
|
void RimAbstractCorrelationPlot::setTimeStep( std::time_t timeStep )
|
||||||
{
|
{
|
||||||
m_timeStep = QDateTime::fromTime_t( timeStep );
|
m_timeStep = RiaQDateTimeTools::fromTime_t( timeStep );
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -164,7 +164,7 @@ RimCorrelationMatrixPlot::RimCorrelationMatrixPlot()
|
|||||||
"",
|
"",
|
||||||
"" );
|
"" );
|
||||||
CAF_PDM_InitField( &m_showOnlyTopNCorrelations, "ShowOnlyTopNCorrelations", false, "Show Only Top Correlations", "", "", "" );
|
CAF_PDM_InitField( &m_showOnlyTopNCorrelations, "ShowOnlyTopNCorrelations", false, "Show Only Top Correlations", "", "", "" );
|
||||||
CAF_PDM_InitField( &m_topNFilterCount, "TopNFilterCount", (size_t)15, "Number rows/columns", "", "", "" );
|
CAF_PDM_InitField( &m_topNFilterCount, "TopNFilterCount", 15, "Number rows/columns", "", "", "" );
|
||||||
CAF_PDM_InitFieldNoDefault( &m_legendConfig, "LegendConfig", "", "", "", "" );
|
CAF_PDM_InitFieldNoDefault( &m_legendConfig, "LegendConfig", "", "", "", "" );
|
||||||
CAF_PDM_InitFieldNoDefault( &m_selectedParametersList, "SelectedParameters", "Select Parameters", "", "", "" );
|
CAF_PDM_InitFieldNoDefault( &m_selectedParametersList, "SelectedParameters", "Select Parameters", "", "", "" );
|
||||||
m_selectedParametersList.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
m_selectedParametersList.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
||||||
@ -236,6 +236,22 @@ void RimCorrelationMatrixPlot::selectAllParameters()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
bool RimCorrelationMatrixPlot::showTopNCorrelations() const
|
||||||
|
{
|
||||||
|
return m_showOnlyTopNCorrelations();
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
int RimCorrelationMatrixPlot::topNFilterCount() const
|
||||||
|
{
|
||||||
|
return m_topNFilterCount();
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -570,7 +586,7 @@ void RimCorrelationMatrixPlot::createMatrix()
|
|||||||
{
|
{
|
||||||
sortEntries( correlationMatrixColumns, m_sortByAbsoluteValues() || m_showAbsoluteValues() );
|
sortEntries( correlationMatrixColumns, m_sortByAbsoluteValues() || m_showAbsoluteValues() );
|
||||||
|
|
||||||
if ( m_showOnlyTopNCorrelations && m_topNFilterCount < correlationMatrixColumns.size() )
|
if ( m_showOnlyTopNCorrelations && (size_t)m_topNFilterCount < correlationMatrixColumns.size() )
|
||||||
{
|
{
|
||||||
correlationMatrixColumns.erase( correlationMatrixColumns.begin() + m_topNFilterCount(),
|
correlationMatrixColumns.erase( correlationMatrixColumns.begin() + m_topNFilterCount(),
|
||||||
correlationMatrixColumns.end() );
|
correlationMatrixColumns.end() );
|
||||||
@ -584,7 +600,7 @@ void RimCorrelationMatrixPlot::createMatrix()
|
|||||||
{
|
{
|
||||||
sortEntries( correlationMatrixRows, m_sortByAbsoluteValues() || m_showAbsoluteValues() );
|
sortEntries( correlationMatrixRows, m_sortByAbsoluteValues() || m_showAbsoluteValues() );
|
||||||
|
|
||||||
if ( m_showOnlyTopNCorrelations && m_topNFilterCount < correlationMatrixRows.size() )
|
if ( m_showOnlyTopNCorrelations && (size_t)m_topNFilterCount < correlationMatrixRows.size() )
|
||||||
{
|
{
|
||||||
correlationMatrixRows.erase( correlationMatrixRows.begin() + m_topNFilterCount(), correlationMatrixRows.end() );
|
correlationMatrixRows.erase( correlationMatrixRows.begin() + m_topNFilterCount(), correlationMatrixRows.end() );
|
||||||
}
|
}
|
||||||
|
@ -58,6 +58,8 @@ public:
|
|||||||
bool sortByAbsoluteValues() const;
|
bool sortByAbsoluteValues() const;
|
||||||
RimRegularLegendConfig* legendConfig();
|
RimRegularLegendConfig* legendConfig();
|
||||||
void selectAllParameters();
|
void selectAllParameters();
|
||||||
|
bool showTopNCorrelations() const;
|
||||||
|
int topNFilterCount() const;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void matrixCellSelected( const EnsembleParameter&, const RiaSummaryCurveDefinition& );
|
void matrixCellSelected( const EnsembleParameter&, const RiaSummaryCurveDefinition& );
|
||||||
@ -90,7 +92,7 @@ private:
|
|||||||
caf::PdmField<bool> m_sortByAbsoluteValues;
|
caf::PdmField<bool> m_sortByAbsoluteValues;
|
||||||
caf::PdmField<bool> m_excludeParametersWithoutVariation;
|
caf::PdmField<bool> m_excludeParametersWithoutVariation;
|
||||||
caf::PdmField<bool> m_showOnlyTopNCorrelations;
|
caf::PdmField<bool> m_showOnlyTopNCorrelations;
|
||||||
caf::PdmField<size_t> m_topNFilterCount;
|
caf::PdmField<int> m_topNFilterCount;
|
||||||
caf::PdmField<std::vector<QString>> m_selectedParametersList;
|
caf::PdmField<std::vector<QString>> m_selectedParametersList;
|
||||||
|
|
||||||
caf::PdmChildField<RimRegularLegendConfig*> m_legendConfig;
|
caf::PdmChildField<RimRegularLegendConfig*> m_legendConfig;
|
||||||
|
@ -81,6 +81,8 @@ RimCorrelationPlot::RimCorrelationPlot()
|
|||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
"" );
|
"" );
|
||||||
|
CAF_PDM_InitField( &m_showOnlyTopNCorrelations, "ShowOnlyTopNCorrelations", false, "Show Only Top Correlations", "", "", "" );
|
||||||
|
CAF_PDM_InitField( &m_topNFilterCount, "TopNFilterCount", 15, "Number rows/columns", "", "", "" );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( &m_selectedParametersList, "SelectedParameters", "Select Parameters", "", "", "" );
|
CAF_PDM_InitFieldNoDefault( &m_selectedParametersList, "SelectedParameters", "Select Parameters", "", "", "" );
|
||||||
m_selectedParametersList.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
m_selectedParametersList.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
||||||
@ -109,7 +111,8 @@ void RimCorrelationPlot::fieldChangedByUi( const caf::PdmFieldHandle* changedFie
|
|||||||
RimAbstractCorrelationPlot::fieldChangedByUi( changedField, oldValue, newValue );
|
RimAbstractCorrelationPlot::fieldChangedByUi( changedField, oldValue, newValue );
|
||||||
if ( changedField == &m_correlationFactor || changedField == &m_showAbsoluteValues ||
|
if ( changedField == &m_correlationFactor || changedField == &m_showAbsoluteValues ||
|
||||||
changedField == &m_sortByAbsoluteValues || changedField == &m_excludeParametersWithoutVariation ||
|
changedField == &m_sortByAbsoluteValues || changedField == &m_excludeParametersWithoutVariation ||
|
||||||
changedField == &m_selectedParametersList )
|
changedField == &m_selectedParametersList || changedField == &m_showOnlyTopNCorrelations ||
|
||||||
|
changedField == &m_topNFilterCount )
|
||||||
{
|
{
|
||||||
if ( changedField == &m_excludeParametersWithoutVariation )
|
if ( changedField == &m_excludeParametersWithoutVariation )
|
||||||
{
|
{
|
||||||
@ -136,6 +139,12 @@ void RimCorrelationPlot::defineUiOrdering( QString uiConfigName, caf::PdmUiOrder
|
|||||||
correlationGroup->add( &m_sortByAbsoluteValues );
|
correlationGroup->add( &m_sortByAbsoluteValues );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
correlationGroup->add( &m_showOnlyTopNCorrelations );
|
||||||
|
if ( m_showOnlyTopNCorrelations() )
|
||||||
|
{
|
||||||
|
correlationGroup->add( &m_topNFilterCount );
|
||||||
|
}
|
||||||
|
|
||||||
caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroup( "Summary Vector" );
|
caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroup( "Summary Vector" );
|
||||||
|
|
||||||
curveDataGroup->add( &m_selectedVarsUiField );
|
curveDataGroup->add( &m_selectedVarsUiField );
|
||||||
@ -202,7 +211,9 @@ void RimCorrelationPlot::onLoadDataAndUpdate()
|
|||||||
// buildTestPlot( chartBuilder );
|
// buildTestPlot( chartBuilder );
|
||||||
addDataToChartBuilder( chartBuilder );
|
addDataToChartBuilder( chartBuilder );
|
||||||
|
|
||||||
chartBuilder.addBarChartToPlot( m_plotWidget, Qt::Horizontal );
|
chartBuilder.addBarChartToPlot( m_plotWidget,
|
||||||
|
Qt::Horizontal,
|
||||||
|
m_showOnlyTopNCorrelations() ? m_topNFilterCount() : -1 );
|
||||||
chartBuilder.setLabelFontSize( labelFontSize() );
|
chartBuilder.setLabelFontSize( labelFontSize() );
|
||||||
|
|
||||||
m_plotWidget->insertLegend( nullptr );
|
m_plotWidget->insertLegend( nullptr );
|
||||||
@ -426,3 +437,19 @@ void RimCorrelationPlot::selectAllParameters()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimCorrelationPlot::setShowOnlyTopNCorrelations( bool showOnlyTopNCorrelations )
|
||||||
|
{
|
||||||
|
m_showOnlyTopNCorrelations = showOnlyTopNCorrelations;
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimCorrelationPlot::setTopNFilterCount( int filterCount )
|
||||||
|
{
|
||||||
|
m_topNFilterCount = filterCount;
|
||||||
|
}
|
||||||
|
@ -60,6 +60,9 @@ public:
|
|||||||
void setSortByAbsoluteValues( bool sortByAbsoluteValues );
|
void setSortByAbsoluteValues( bool sortByAbsoluteValues );
|
||||||
void selectAllParameters();
|
void selectAllParameters();
|
||||||
|
|
||||||
|
void setShowOnlyTopNCorrelations( bool showOnlyTopNCorrelations );
|
||||||
|
void setTopNFilterCount( int filterCount );
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void tornadoItemSelected( const EnsembleParameter&, const RiaSummaryCurveDefinition& curveDef );
|
void tornadoItemSelected( const EnsembleParameter&, const RiaSummaryCurveDefinition& curveDef );
|
||||||
|
|
||||||
@ -86,5 +89,7 @@ private:
|
|||||||
caf::PdmField<bool> m_showAbsoluteValues;
|
caf::PdmField<bool> m_showAbsoluteValues;
|
||||||
caf::PdmField<bool> m_sortByAbsoluteValues;
|
caf::PdmField<bool> m_sortByAbsoluteValues;
|
||||||
caf::PdmField<bool> m_excludeParametersWithoutVariation;
|
caf::PdmField<bool> m_excludeParametersWithoutVariation;
|
||||||
|
caf::PdmField<bool> m_showOnlyTopNCorrelations;
|
||||||
|
caf::PdmField<int> m_topNFilterCount;
|
||||||
caf::PdmField<std::vector<QString>> m_selectedParametersList;
|
caf::PdmField<std::vector<QString>> m_selectedParametersList;
|
||||||
};
|
};
|
||||||
|
@ -303,8 +303,13 @@ void RimCorrelationReportPlot::onLoadDataAndUpdate()
|
|||||||
updateMdiWindowVisibility();
|
updateMdiWindowVisibility();
|
||||||
if ( m_showWindow )
|
if ( m_showWindow )
|
||||||
{
|
{
|
||||||
auto timeStep = m_correlationMatrixPlot->timeStep().toTime_t();
|
auto timeStep = m_correlationMatrixPlot->timeStep().toTime_t();
|
||||||
|
bool showOnlyTopNCorrelations = m_correlationMatrixPlot->showTopNCorrelations();
|
||||||
|
int topNFilterCount = m_correlationMatrixPlot->topNFilterCount();
|
||||||
|
|
||||||
m_correlationPlot->setTimeStep( timeStep );
|
m_correlationPlot->setTimeStep( timeStep );
|
||||||
|
m_correlationPlot->setShowOnlyTopNCorrelations( showOnlyTopNCorrelations );
|
||||||
|
m_correlationPlot->setTopNFilterCount( topNFilterCount );
|
||||||
m_parameterResultCrossPlot->setTimeStep( timeStep );
|
m_parameterResultCrossPlot->setTimeStep( timeStep );
|
||||||
|
|
||||||
m_correlationMatrixPlot->setLabelFontSize( m_labelFontSize() );
|
m_correlationMatrixPlot->setLabelFontSize( m_labelFontSize() );
|
||||||
|
Loading…
Reference in New Issue
Block a user