fpspreadsheet: xlsx writer supports inverted axes.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@9217 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz 2024-02-06 10:16:56 +00:00
parent b311808e0e
commit 79b9ec99f3
2 changed files with 7 additions and 1 deletions

View File

@ -111,6 +111,7 @@ begin
ch.YAxis.Logarithmic := true; ch.YAxis.Logarithmic := true;
end; end;
end; end;
ch.XAxis.Inverted := true;
// Add scatter series // Add scatter series
ser := TsScatterSeries.Create(ch); ser := TsScatterSeries.Create(ch);

View File

@ -3620,12 +3620,15 @@ end;
procedure TsSpreadOOXMLChartWriter.WriteChartAxisScaling(AStream: TStream; procedure TsSpreadOOXMLChartWriter.WriteChartAxisScaling(AStream: TStream;
AIndent: Integer; Axis: TsChartAxis); AIndent: Integer; Axis: TsChartAxis);
const
INVERTED: array[boolean] of String = ('minMax', 'maxMin');
var var
indent: String; indent: String;
intv: Double; intv: Double;
logStr: String = ''; logStr: String = '';
maxStr: String = ''; maxStr: String = '';
minStr: String = ''; minStr: String = '';
orientationStr: String;
begin begin
indent := DupeString(' ', AIndent); indent := DupeString(' ', AIndent);
@ -3638,12 +3641,14 @@ begin
if Axis.Logarithmic then if Axis.Logarithmic then
logStr := indent + Format(' <c:logBase val="%g"/>', [Axis.LogBase], FPointSeparatorSettings) + LE; logStr := indent + Format(' <c:logBase val="%g"/>', [Axis.LogBase], FPointSeparatorSettings) + LE;
orientationStr := indent + Format(' <c:orientation val="%s"/>', [ INVERTED[Axis.Inverted] ]) + LE;
AppendToStream(AStream, AppendToStream(AStream,
indent + '<c:scaling>' + LE + indent + '<c:scaling>' + LE +
maxStr + maxStr +
minStr + minStr +
logStr + logStr +
indent + ' <c:orientation val="minMax"/>' + LE + orientationStr +
indent + '</c:scaling>' + LE indent + '</c:scaling>' + LE
); );