diff --git a/src/fileFormats/sampledSetWriters/gnuplot/gnuplotSetWriter.C b/src/fileFormats/sampledSetWriters/gnuplot/gnuplotSetWriter.C index 4809bb35045d1963849a585c644396b7b1a7b6d5..f6c724275e928645511c4927e28633ece949783b 100644 --- a/src/fileFormats/sampledSetWriters/gnuplot/gnuplotSetWriter.C +++ b/src/fileFormats/sampledSetWriters/gnuplot/gnuplotSetWriter.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2017 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -68,8 +68,18 @@ void Foam::gnuplotSetWriter<Type>::write ) const { os << "set term postscript color" << nl - << "set output \"" << points.name() << ".ps\"" << nl - << "plot"; + << "set output \"" << points.name() << ".ps\"" << nl; + + // Set secondary Y axis if using two columns. Falls back to same + // values if both on same scale. However, ignore if more columns. + if (valueSetNames.size() == 2) + { + os << "set ylabel \"" << valueSetNames[0] << "\"" << nl + << "set y2label \"" << valueSetNames[1] << "\"" << nl + << "set ytics nomirror" << nl << "set y2tics" << nl; + } + + os << "plot"; forAll(valueSets, i) { @@ -79,10 +89,14 @@ void Foam::gnuplotSetWriter<Type>::write } os << " \"-\" title \"" << valueSetNames[i] << "\" with lines"; + + if (valueSetNames.size() == 2) + { + os << " axes x1y" << (i+1) ; + } } os << nl; - forAll(valueSets, i) { this->writeTable(points, *valueSets[i], os); diff --git a/src/functionObjects/field/histogram/histogram.H b/src/functionObjects/field/histogram/histogram.H index d6147cff1b3a893a96dae7057ef52b11830bb126..f5b9402a44e5e401ac7bd7661f32a00f6ca99142 100644 --- a/src/functionObjects/field/histogram/histogram.H +++ b/src/functionObjects/field/histogram/histogram.H @@ -58,6 +58,12 @@ Usage setFormat | Output format | yes | \endtable +Note + If max is not provided it will use the field's min and max as the bin + extremes. If max is provided but not min it will use 0. The set written + contains two columns, the first the volume averaged values, the second + the raw bin count. + See also Foam::functionObject Foam::functionObjects::fvMeshFunctionObject