TXLSXCharts는 TXLSXWorksheet.Charts로 노출되는 포함 차트 컬렉션이며, TXLSXChart는 차트 배치, 축, 계열을 담당합니다
선언
function TXLSXCharts.Add: TXLSXChart; overload;
function TXLSXCharts.Add(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart; overload;
function TXLSXChart.AddSeries(const AName, ACategories, AValues: WideString): TXLSXChartSeries;
function TXLSXChart.AddPlotGroup(AChartType: TXLSXChartType; AAxisGroup: TXLSXChartAxisGroup = xlsxAxisPrimary): TXLSXChartPlotGroup;
procedure TXLSXChart.ClearSeries;
procedure TXLSXChart.ClearPlotGroups;
procedure TXLSXChart.ClearPreservedXml;
property TXLSXChart.ChartType: TXLSXChartType;
property TXLSXChart.HasPreservedXml: Boolean;
property TXLSXChart.CategoryAxis, ValueAxis: TXLSXChartAxis;
property TXLSXChart.SecondaryCategoryAxis, SecondaryValueAxis: TXLSXChartAxis;
property TXLSXChart.SeriesAxis: TXLSXChartAxis;
property TXLSXChart.TitleTextStyle, LegendTextStyle: TXLSXChartTextStyle;
property TXLSXChart.PlotAreaLayout, TitleLayout, LegendLayout: TXLSXChartLayout;
property TXLSXChart.ShowLegend, TitleOverlay, LegendOverlay: Boolean;
property TXLSXChart.LegendPosition: TXLSXChartLegendPosition;
property TXLSXChart.Series[Index: Integer]: TXLSXChartSeries;
property TXLSXChart.PlotGroups[Index: Integer]: TXLSXChartPlotGroup;
property TXLSXChart.RadarStyle: TXLSXChartRadarStyle;
property TXLSXChart.HoleSize, FirstSliceAng: Integer;
property TXLSXChart.OfPieType: TXLSXChartOfPieType;
property TXLSXChart.OfPieSplitType: TXLSXChartOfPieSplitType;
property TXLSXChart.OfPieSplitPos, OfPieSecondPieSize, OfPieGapWidth: Integer;
property TXLSXChart.RoundedCorners, AutoTitleDeleted: Boolean;
property TXLSXChart.ChartBackgroundColor, ChartBorderColor, PlotAreaBackgroundColor: LongWord;
property TXLSXChart.ProtectionEnabled: Boolean;
property TXLSXChart.ProtectedChartObjects, ProtectedDataEditing, ProtectedFormatting, ProtectedSelection, ProtectedUserInterface: Boolean;
property TXLSXChart.ShowDataTableHorzBorder, ShowDataTableVertBorder, ShowDataTableOutline: Boolean;
property TXLSXChart.HasDropLines, HasSeriesLines: Boolean;
property TXLSXChart.OwnerSheet: TXLSXWorksheet;
차트 멤버
| Title, CategoryAxisTitle and ValueAxisTitle | 차트 및 주 축 제목 텍스트 |
| TitleTextStyle and TitleLayout | 타입으로 다루는 차트 제목 글꼴, 색, 강조, 회전, 오버레이 및 수동 위치 |
| ShowLegend, LegendPosition, LegendTextStyle and LegendLayout | 범례 표시 여부, 위치, 오버레이, 글꼴 및 수동 위치 |
| PlotAreaLayout | 정규화된 ChartML 좌표를 사용하는 수동 내부/외부 플롯 사각형 |
| FromRow, FromCol, ToRow and ToCol | 1 기반 워크시트 앵커 사각형 |
| CategoryAxis and ValueAxis | 주 범주(X) 축과 주 값(Y) 축 |
| SecondaryCategoryAxis and SecondaryValueAxis | 보조 플롯 그룹이 사용하는 위쪽/오른쪽 축 |
| SeriesAxis | 3차원 범주 차트가 사용하는 깊이 축 |
| PlotGroups | 정렬된 차트 패밀리 그룹으로, 콤보 차트를 가능하게 하며 Series는 평탄화된 호환성 뷰로 유지됩니다 |
| HasPreservedXml | 확장에 안전한 라운드트립을 위해 차트가 원본 ChartML을 유지하는지 알려줍니다 |
| ShowDataTable and ShowDataTableKeys | 데이터 테이블 표시 컨트롤 |
| ShowDataTableHorzBorder, ShowDataTableVertBorder and ShowDataTableOutline | c:showHorzBorder, c:showVertBorder, c:showOutline으로 기록되는 독립적인 데이터 테이블 테두리 스위치입니다. 셋 모두 기본값은 True입니다 |
| HasDropLines and HasSeriesLines | 꺾은선 차트의 드롭 라인은 각 점을 범주 축에 연결하고, 계열 선은 누적 막대 또는 꺾은선 계열의 세그먼트를 연결합니다 |
| HasUpDownBars, UpDownGapWidth and HasHiLowLines | 꺾은선 및 주식 차트 표시 컨트롤 |
| Rotation3DX, Rotation3DY, Elevation3D, Perspective3D and RightAngleAxes3D | 3차원 차트 뷰 컨트롤 |
| HeightPercent3D, DepthPercent3D and GapDepth3D | 3차원 플롯 높이, 깊이 및 계열 간격 백분율 |
| RadarStyle | 현재 차트 종류에 적용되는 레이더 차트 패밀리 변형 |
| HoleSize and FirstSliceAng | 도넛 안쪽 반지름 백분율(10..90)과 원형 및 도넛 차트의 시작 각도(도 단위) |
| OfPieType, OfPieSplitType, OfPieSplitPos, OfPieSecondPieSize and OfPieGapWidth | pie-of-pie 및 bar-of-pie 레이아웃, 분할 규칙, 주/보조 플롯 크기 |
| RoundedCorners | 차트 공간의 둥근 모서리를 켜고 끕니다 |
| AutoTitleDeleted | 단일 계열 이름에서 파생된 자동 제목을 억제하고 c:autoTitleDeleted를 기록합니다 |
| ChartBackgroundColor, ChartBorderColor and PlotAreaBackgroundColor | $RRGGBB 값으로 지정하는 차트 및 플롯 영역 채우기/테두리 색입니다. 0이면 테마 기본값을 유지합니다 |
| ProtectionEnabled, ProtectedChartObjects, ProtectedDataEditing, ProtectedFormatting, ProtectedSelection and ProtectedUserInterface | 차트 보호 스위치와 이 스위치가 c:protection으로 기록하는 개별 편집 제한 |
| OwnerSheet | 이 차트를 소유한 워크시트에 대한 읽기 전용 참조 |
차트 종류와 콤보 그룹
TXLSXChartType에는 column, bar, line, pie, area, doughnut, scatter, bubble, radar, stock, of-pie, surface, surface 3D, column 3D, bar 3D, line 3D, pie 3D, area 3D 패밀리가 포함됩니다
첫 번째 플롯 그룹은 ChartType과 AddSeries가 제어하는 호환성 그룹입니다. 추가 그룹은 AddPlotGroup으로 넣으며 xlsxAxisPrimary 또는 xlsxAxisSecondary를 사용할 수 있습니다
계열, 추세선 및 오차 막대
function TXLSXChartSeries.AddTrendline(AType: TXLSXChartTrendlineType): TXLSXChartTrendline;
function TXLSXChartSeries.AddErrorBar(ADir: TXLSXChartErrDir): TXLSXChartErrBar;
property TXLSXChartSeries.Trendlines[Index: Integer]: TXLSXChartTrendline;
property TXLSXChartSeries.ErrBarX, ErrBarY: TXLSXChartErrBar;
property TXLSXChartTrendline.TrendlineType: TXLSXChartTrendlineType;
property TXLSXChartTrendline.DispEq, DispRSqr: Boolean;
property TXLSXChartTrendline.Order, Period: Integer;
property TXLSXChartErrBar.ValueType: TXLSXChartErrValType;
property TXLSXChartErrBar.Value, PlusValue, MinusValue: Double;
| TrendlineType | 선형, 지수, 로그, 다항식, 거듭제곱 또는 이동 평균 추세선 |
| DispEq and DispRSqr | 차트에 수식과 R-제곱 값을 표시합니다 |
| Order and Period | 해당 추세선 종류에 대한 다항식 차수 또는 이동 평균 기간 |
| ValueType | 고정값, 백분율, 표준 편차, 표준 오류 또는 사용자 지정 오차 크기 |
| NoEndCap | 오차 막대 양쪽 끝의 캡을 숨깁니다 |
축 및 데이터 레이블 멤버
| LogBase and Orientation | 로그 눈금 밑수와 정방향/역방향 축 정렬 |
| MajorGridlines and MinorGridlines | 눈금선 표시 컨트롤 |
| MinValue, MaxValue, MajorUnit and MinorUnit | 지원되는 경우 명시적인 배율 경계와 눈금 간격 |
| CrossesAt, TickLblPos and DispUnits | 축 교차 위치, 레이블 배치 및 표시 단위 |
ShowValue, ShowCategoryName, ShowSeriesName, ShowLegendKey, ShowPercent and ShowBubbleSize | 계열별 데이터 레이블 구성 요소 |
| Separator | 여러 데이터 레이블 구성 요소 사이에 표시되는 구분 텍스트 |
지원하지 않는 ChartML 보존
TXLSXWorkbook.PreserveUnsupportedParts가 활성화되어 있으면(기본값) 가져온 차트는 원본 ChartML을 그대로 유지합니다. 손대지 않은 차트는 정규화 없이 해당 XML을 그대로 재생하고, 타입 속성 변경 시 생성된 HotXLS 모델이 원본 트리 위에 겹쳐 적용됩니다
알 수 없는 네임스페이스, markup-compatibility AlternateContent, 확장 목록, 사용자 지정 스타일, 모델링되지 않은 서식은 알려진 속성 편집 중에도 원본 차트 개체에 그대로 붙어 있습니다. 한 차트의 보존 XML을 버리고 타입 속성만으로 다시 생성하려면 ClearPreservedXml을 호출하세요
예제
var
Chart: TXLSXChart;
Secondary: TXLSXChartPlotGroup;
begin
Chart := Sheet.Charts.Add(xlsxChartLine, 'Monthly sales', 2, 5, 18, 12);
Chart.AddSeries('Sales', 'Sheet1!$A$2:$A$13', 'Sheet1!$B$2:$B$13');
Chart.ValueAxisTitle := 'Amount';
Chart.TitleTextStyle.Name := 'Aptos Display';
Chart.TitleTextStyle.Size := 18;
Chart.TitleTextStyle.Bold := True;
Chart.PlotAreaLayout.Target := xlsxChartLayoutInner;
Chart.PlotAreaLayout.SetPositionAndSize(0.12, 0.18, 0.72, 0.64);
Chart.ShowLegend := True;
Chart.LegendPosition := xlsxChartLegendBottom;
Chart.LegendTextStyle.Size := 10;
Secondary := Chart.AddPlotGroup(xlsxChartColumn, xlsxAxisSecondary);
Secondary.AddSeries('Margin', 'Sheet1!$A$2:$A$13', 'Sheet1!$C$2:$C$13');
Chart.SecondaryValueAxis.Title := 'Margin percent';
Chart.Series[0].AddTrendline(xlsxTrendLinear).DispRSqr := True;
Chart.Series[0].ShowValue := True;
end;참고 항목