HotXLS 문서

TXLSXChart 및 TXLSXCharts 클래스

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 ToCol1 기반 워크시트 앵커 사각형
CategoryAxis and ValueAxis주 범주(X) 축과 주 값(Y) 축
SecondaryCategoryAxis and SecondaryValueAxis보조 플롯 그룹이 사용하는 위쪽/오른쪽 축
SeriesAxis3차원 범주 차트가 사용하는 깊이 축
PlotGroups정렬된 차트 패밀리 그룹으로, 콤보 차트를 가능하게 하며 Series는 평탄화된 호환성 뷰로 유지됩니다
HasPreservedXml확장에 안전한 라운드트립을 위해 차트가 원본 ChartML을 유지하는지 알려줍니다
ShowDataTable and ShowDataTableKeys데이터 테이블 표시 컨트롤
ShowDataTableHorzBorder, ShowDataTableVertBorder and ShowDataTableOutlinec:showHorzBorder, c:showVertBorder, c:showOutline으로 기록되는 독립적인 데이터 테이블 테두리 스위치입니다. 셋 모두 기본값은 True입니다
HasDropLines and HasSeriesLines꺾은선 차트의 드롭 라인은 각 점을 범주 축에 연결하고, 계열 선은 누적 막대 또는 꺾은선 계열의 세그먼트를 연결합니다
HasUpDownBars, UpDownGapWidth and HasHiLowLines꺾은선 및 주식 차트 표시 컨트롤
Rotation3DX, Rotation3DY, Elevation3D, Perspective3D and RightAngleAxes3D3차원 차트 뷰 컨트롤
HeightPercent3D, DepthPercent3D and GapDepth3D3차원 플롯 높이, 깊이 및 계열 간격 백분율
RadarStyle현재 차트 종류에 적용되는 레이더 차트 패밀리 변형
HoleSize and FirstSliceAng도넛 안쪽 반지름 백분율(10..90)과 원형 및 도넛 차트의 시작 각도(도 단위)
OfPieType, OfPieSplitType, OfPieSplitPos, OfPieSecondPieSize and OfPieGapWidthpie-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;

참고 항목