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();
|
||||
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 )
|
||||
{
|
||||
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_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_selectedParametersList, "SelectedParameters", "Select Parameters", "", "", "" );
|
||||
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() );
|
||||
|
||||
if ( m_showOnlyTopNCorrelations && m_topNFilterCount < correlationMatrixColumns.size() )
|
||||
if ( m_showOnlyTopNCorrelations && (size_t)m_topNFilterCount < correlationMatrixColumns.size() )
|
||||
{
|
||||
correlationMatrixColumns.erase( correlationMatrixColumns.begin() + m_topNFilterCount(),
|
||||
correlationMatrixColumns.end() );
|
||||
@ -584,7 +600,7 @@ void RimCorrelationMatrixPlot::createMatrix()
|
||||
{
|
||||
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() );
|
||||
}
|
||||
|
@ -58,6 +58,8 @@ public:
|
||||
bool sortByAbsoluteValues() const;
|
||||
RimRegularLegendConfig* legendConfig();
|
||||
void selectAllParameters();
|
||||
bool showTopNCorrelations() const;
|
||||
int topNFilterCount() const;
|
||||
|
||||
signals:
|
||||
void matrixCellSelected( const EnsembleParameter&, const RiaSummaryCurveDefinition& );
|
||||
@ -90,7 +92,7 @@ private:
|
||||
caf::PdmField<bool> m_sortByAbsoluteValues;
|
||||
caf::PdmField<bool> m_excludeParametersWithoutVariation;
|
||||
caf::PdmField<bool> m_showOnlyTopNCorrelations;
|
||||
caf::PdmField<size_t> m_topNFilterCount;
|
||||
caf::PdmField<int> m_topNFilterCount;
|
||||
caf::PdmField<std::vector<QString>> m_selectedParametersList;
|
||||
|
||||
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", "", "", "" );
|
||||
m_selectedParametersList.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::TOP );
|
||||
@ -109,7 +111,8 @@ void RimCorrelationPlot::fieldChangedByUi( const caf::PdmFieldHandle* changedFie
|
||||
RimAbstractCorrelationPlot::fieldChangedByUi( changedField, oldValue, newValue );
|
||||
if ( changedField == &m_correlationFactor || changedField == &m_showAbsoluteValues ||
|
||||
changedField == &m_sortByAbsoluteValues || changedField == &m_excludeParametersWithoutVariation ||
|
||||
changedField == &m_selectedParametersList )
|
||||
changedField == &m_selectedParametersList || changedField == &m_showOnlyTopNCorrelations ||
|
||||
changedField == &m_topNFilterCount )
|
||||
{
|
||||
if ( changedField == &m_excludeParametersWithoutVariation )
|
||||
{
|
||||
@ -136,6 +139,12 @@ void RimCorrelationPlot::defineUiOrdering( QString uiConfigName, caf::PdmUiOrder
|
||||
correlationGroup->add( &m_sortByAbsoluteValues );
|
||||
}
|
||||
|
||||
correlationGroup->add( &m_showOnlyTopNCorrelations );
|
||||
if ( m_showOnlyTopNCorrelations() )
|
||||
{
|
||||
correlationGroup->add( &m_topNFilterCount );
|
||||
}
|
||||
|
||||
caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroup( "Summary Vector" );
|
||||
|
||||
curveDataGroup->add( &m_selectedVarsUiField );
|
||||
@ -202,7 +211,9 @@ void RimCorrelationPlot::onLoadDataAndUpdate()
|
||||
// buildTestPlot( chartBuilder );
|
||||
addDataToChartBuilder( chartBuilder );
|
||||
|
||||
chartBuilder.addBarChartToPlot( m_plotWidget, Qt::Horizontal );
|
||||
chartBuilder.addBarChartToPlot( m_plotWidget,
|
||||
Qt::Horizontal,
|
||||
m_showOnlyTopNCorrelations() ? m_topNFilterCount() : -1 );
|
||||
chartBuilder.setLabelFontSize( labelFontSize() );
|
||||
|
||||
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 selectAllParameters();
|
||||
|
||||
void setShowOnlyTopNCorrelations( bool showOnlyTopNCorrelations );
|
||||
void setTopNFilterCount( int filterCount );
|
||||
|
||||
signals:
|
||||
void tornadoItemSelected( const EnsembleParameter&, const RiaSummaryCurveDefinition& curveDef );
|
||||
|
||||
@ -86,5 +89,7 @@ private:
|
||||
caf::PdmField<bool> m_showAbsoluteValues;
|
||||
caf::PdmField<bool> m_sortByAbsoluteValues;
|
||||
caf::PdmField<bool> m_excludeParametersWithoutVariation;
|
||||
caf::PdmField<bool> m_showOnlyTopNCorrelations;
|
||||
caf::PdmField<int> m_topNFilterCount;
|
||||
caf::PdmField<std::vector<QString>> m_selectedParametersList;
|
||||
};
|
||||
|
@ -303,8 +303,13 @@ void RimCorrelationReportPlot::onLoadDataAndUpdate()
|
||||
updateMdiWindowVisibility();
|
||||
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->setShowOnlyTopNCorrelations( showOnlyTopNCorrelations );
|
||||
m_correlationPlot->setTopNFilterCount( topNFilterCount );
|
||||
m_parameterResultCrossPlot->setTimeStep( timeStep );
|
||||
|
||||
m_correlationMatrixPlot->setLabelFontSize( m_labelFontSize() );
|
||||
|
Loading…
Reference in New Issue
Block a user