#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;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
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 sprintfFormat( RiaNumberFormat::NumberFormatType numberFormat, int precision );
};

View File

@ -81,6 +81,21 @@ RimStatisticsPlot::RimStatisticsPlot()
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 );
setDeletable( true );
@ -232,6 +247,8 @@ void RimStatisticsPlot::uiOrderingForHistogram( QString uiConfigName, caf::PdmUi
histogramGroup->add( &m_histogramBarColor );
histogramGroup->add( &m_histogramGapWidth );
histogramGroup->add( &m_histogramFrequencyType );
histogramGroup->add( &m_precision );
histogramGroup->add( &m_tickNumberFormat );
}
//--------------------------------------------------------------------------------------------------
@ -293,10 +310,12 @@ void RimStatisticsPlot::updatePlots()
QValueAxis* axisX = new QValueAxis();
axisX->setRange( histogramData.min - xAxisExtension, histogramData.max + xAxisExtension );
axisX->setLabelFormat( RiaNumberFormat::sprintfFormat( m_tickNumberFormat(), m_precision ) );
chart->addAxis( axisX, Qt::AlignBottom );
QValueAxis* axisY = new QValueAxis();
axisY->setRange( minValue, maxValue );
axisY->setLabelFormat( RiaNumberFormat::sprintfFormat( m_tickNumberFormat(), m_precision ) );
chart->addAxis( axisY, Qt::AlignLeft );
if ( !std::isinf( histogramData.p10 ) )

View File

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