You've already forked lazarus-ccr
fpspreadsheet: Show regression formula in chart with number format specified in file.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@9059 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
program regressionchart_write_demo;
|
||||
|
||||
{.$DEFINE DARK_MODE}
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
uses
|
||||
SysUtils,
|
||||
@ -16,7 +16,7 @@ var
|
||||
begin
|
||||
book := TsWorkbook.Create;
|
||||
try
|
||||
// worksheet
|
||||
// Worksheet
|
||||
sheet := book.AddWorksheet('regression_test');
|
||||
|
||||
// Enter data
|
||||
@ -28,10 +28,10 @@ begin
|
||||
sheet.WriteNumber(5, 0, 2.5); sheet.WriteNumber(5, 1, 2.45);
|
||||
sheet.WriteNumber(6, 0, 3.1); sheet.WriteNumber(6, 1, 3.3);
|
||||
sheet.WriteNumber(7, 0, 5.2); sheet.WriteNumber(7, 1, 4.9);
|
||||
sheet.WriteNumber(8, 0, 6.8); sheet.WriteNumber(8, 1, 7.1); // sheet.WriteChartColor(8, 2, $FF8080);
|
||||
sheet.WriteNumber(8, 0, 6.8); sheet.WriteNumber(8, 1, 7.1);
|
||||
|
||||
// Create chart: left/top in cell D4, 120 mm x 100 mm
|
||||
ch := book.AddChart(sheet, 2, 3, 120, 100);
|
||||
// Create chart: left/top in cell D4, 150 mm x 100 mm
|
||||
ch := book.AddChart(sheet, 2, 3, 150, 100);
|
||||
|
||||
// Chart properties
|
||||
ch.Border.Style := clsNoLine;
|
||||
@ -54,7 +54,7 @@ begin
|
||||
ser.Regression.Line.Color := scRed;
|
||||
ser.Regression.Line.Style := clsDash;
|
||||
ser.Regression.ForceYIntercept := true; // not used by logarithmic, power
|
||||
ser.Regression.YInterceptValue := 1.0;
|
||||
ser.Regression.YInterceptValue := 1.0; // dto.
|
||||
ser.Regression.PolynomialDegree := 2;
|
||||
ser.Regression.DisplayEquation := true;
|
||||
ser.Regression.DisplayRSquare := true;
|
||||
|
@ -244,6 +244,8 @@ begin
|
||||
APen.Style := psDashDotDot
|
||||
end;
|
||||
|
||||
{ Converts an fps format string (e.g. '0.000') to a format string usable in
|
||||
the Format() command (e.g. '%.3f') }
|
||||
function Convert_NumFormatStr_to_FormatStr(ANumFormat: String): String;
|
||||
var
|
||||
isPercent: Boolean = false;
|
||||
@ -1899,7 +1901,7 @@ begin
|
||||
s := s + ser.EquationText.
|
||||
X(AWorkbookSeries.Regression.Equation.XName).
|
||||
Y(AWorkbookSeries.Regression.Equation.YName).
|
||||
NumFormat('%.3f'). // to do: convert from AWorkbookSeries.Regression.Equation.NumberFormat
|
||||
NumFormat(Convert_NumFormatStr_to_FormatStr(AWorkbookSeries.Regression.Equation.NumberFormat)).
|
||||
DecimalSeparator('.').
|
||||
TextFormat(tfHtml).
|
||||
Get;
|
||||
|
Reference in New Issue
Block a user