#7667 Statistics Plot: add number format settings.

This commit is contained in:
Kristian Bendiksen
2021-05-28 16:39:31 +02:00
committed by Magne Sjaastad
parent b2025fbeef
commit ec239f9643
4 changed files with 44 additions and 5 deletions

View File

@@ -51,3 +51,19 @@ QString RiaNumberFormat::valueToText( double value, RiaNumberFormat::NumberForma
return valueString; return valueString;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiaNumberFormat::sprintfFormat( RiaNumberFormat::NumberFormatType numberFormat, int precision )
{
switch ( numberFormat )
{
case RiaNumberFormat::NumberFormatType::FIXED:
return QString( "%.%1f" ).arg( precision );
case RiaNumberFormat::NumberFormatType::SCIENTIFIC:
return QString( "%.%1e" ).arg( precision );
default:
return QString( "%.%1g" ).arg( precision );
}
}

View File

@@ -34,4 +34,5 @@ public:
}; };
static QString valueToText( double value, RiaNumberFormat::NumberFormatType numberFormat, int precision ); static QString valueToText( double value, RiaNumberFormat::NumberFormatType numberFormat, int precision );
static QString sprintfFormat( RiaNumberFormat::NumberFormatType numberFormat, int precision );
}; };

View File

@@ -81,6 +81,21 @@ RimStatisticsPlot::RimStatisticsPlot()
CAF_PDM_InitFieldNoDefault( &m_histogramFrequencyType, "HistogramFrequencyType", "Frequency", "", "", "" ); CAF_PDM_InitFieldNoDefault( &m_histogramFrequencyType, "HistogramFrequencyType", "Frequency", "", "", "" );
CAF_PDM_InitField( &m_precision,
"Precision",
4,
"Significant Digits",
"",
"The number of significant digits displayed in the legend numbers",
"" );
CAF_PDM_InitField( &m_tickNumberFormat,
"TickNumberFormat",
caf::AppEnum<RiaNumberFormat::NumberFormatType>( RiaNumberFormat::NumberFormatType::FIXED ),
"Number format",
"",
"",
"" );
m_plotLegendsHorizontal.uiCapability()->setUiHidden( true ); m_plotLegendsHorizontal.uiCapability()->setUiHidden( true );
setDeletable( true ); setDeletable( true );
@@ -232,6 +247,8 @@ void RimStatisticsPlot::uiOrderingForHistogram( QString uiConfigName, caf::PdmUi
histogramGroup->add( &m_histogramBarColor ); histogramGroup->add( &m_histogramBarColor );
histogramGroup->add( &m_histogramGapWidth ); histogramGroup->add( &m_histogramGapWidth );
histogramGroup->add( &m_histogramFrequencyType ); histogramGroup->add( &m_histogramFrequencyType );
histogramGroup->add( &m_precision );
histogramGroup->add( &m_tickNumberFormat );
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -293,10 +310,12 @@ void RimStatisticsPlot::updatePlots()
QValueAxis* axisX = new QValueAxis(); QValueAxis* axisX = new QValueAxis();
axisX->setRange( histogramData.min - xAxisExtension, histogramData.max + xAxisExtension ); axisX->setRange( histogramData.min - xAxisExtension, histogramData.max + xAxisExtension );
axisX->setLabelFormat( RiaNumberFormat::sprintfFormat( m_tickNumberFormat(), m_precision ) );
chart->addAxis( axisX, Qt::AlignBottom ); chart->addAxis( axisX, Qt::AlignBottom );
QValueAxis* axisY = new QValueAxis(); QValueAxis* axisY = new QValueAxis();
axisY->setRange( minValue, maxValue ); axisY->setRange( minValue, maxValue );
axisY->setLabelFormat( RiaNumberFormat::sprintfFormat( m_tickNumberFormat(), m_precision ) );
chart->addAxis( axisY, Qt::AlignLeft ); chart->addAxis( axisY, Qt::AlignLeft );
if ( !std::isinf( histogramData.p10 ) ) if ( !std::isinf( histogramData.p10 ) )

View File

@@ -19,6 +19,7 @@
#pragma once #pragma once
#include "RiaDefines.h" #include "RiaDefines.h"
#include "RiaNumberFormat.h"
#include "RigHistogramData.h" #include "RigHistogramData.h"
@@ -89,9 +90,11 @@ private:
protected: protected:
QPointer<RiuQtChartView> m_viewer; QPointer<RiuQtChartView> m_viewer;
caf::PdmField<QString> m_plotWindowTitle; caf::PdmField<QString> m_plotWindowTitle;
caf::PdmField<int> m_numHistogramBins; caf::PdmField<int> m_numHistogramBins;
caf::PdmField<cvf::Color3f> m_histogramBarColor; caf::PdmField<cvf::Color3f> m_histogramBarColor;
caf::PdmField<double> m_histogramGapWidth; caf::PdmField<double> m_histogramGapWidth;
caf::PdmField<caf::AppEnum<HistogramFrequencyType>> m_histogramFrequencyType; caf::PdmField<caf::AppEnum<HistogramFrequencyType>> m_histogramFrequencyType;
caf::PdmField<int> m_precision;
caf::PdmField<caf::AppEnum<RiaNumberFormat::NumberFormatType>> m_tickNumberFormat;
}; };