Documentação HotXLS

Classes TXLSXChart e TXLSXCharts

TXLSXCharts é a coleção de gráficos incorporados exposta por TXLSXWorksheet.Charts , e TXLSXChart controla a posição, os eixos e as séries do gráfico

Declarações

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;

Membros do gráfico

Title, CategoryAxisTitle and ValueAxisTitleTexto de legenda do gráfico e dos eixos primários
TitleTextStyle and TitleLayoutFonte, cor, ênfase, rotação, sobreposição e posição manual do título do gráfico, com tipagem dedicada
ShowLegend, LegendPosition, LegendTextStyle and LegendLayoutVisibilidade, lado, sobreposição, fonte e posição manual da legenda
PlotAreaLayoutRetângulo de plotagem interno ou externo manual usando coordenadas ChartML normalizadas
FromRow, FromCol, ToRow and ToColRetângulo de ancoragem na planilha com índices baseados em um
CategoryAxis and ValueAxisEixo primário de categoria ou X e eixo primário de valores ou Y
SecondaryCategoryAxis and SecondaryValueAxisEixos superior e direito usados por grupos de plotagem secundários
SeriesAxisEixo de profundidade usado por gráficos de categoria tridimensionais
PlotGroupsGrupos ordenados por família de gráfico que tornam os gráficos combinados possíveis, enquanto Series permanece uma visão achatada de compatibilidade
HasPreservedXmlInforma se o gráfico mantém o ChartML original para round-trips seguros com extensões
ShowDataTable and ShowDataTableKeysControles de exibição da tabela de dados
ShowDataTableHorzBorder, ShowDataTableVertBorder and ShowDataTableOutlineChaves independentes de borda da tabela de dados, emitidas como c:showHorzBorder, c:showVertBordere c:showOutline; as três assumem True por padrão
HasDropLines and HasSeriesLinesAs linhas de queda dos gráficos de linha conectam cada ponto ao eixo de categoria; as linhas de série conectam segmentos de séries de barras ou linhas empilhadas
HasUpDownBars, UpDownGapWidth and HasHiLowLinesControles de exibição de gráficos de linha e de ações
Rotation3DX, Rotation3DY, Elevation3D, Perspective3D and RightAngleAxes3DControles de exibição de gráficos tridimensionais
HeightPercent3D, DepthPercent3D and GapDepth3DPercentuais de altura, profundidade e espaçamento entre séries da plotagem tridimensional
RadarStyleVariante da família de gráfico de radar para o tipo de gráfico atual
HoleSize and FirstSliceAngPercentual do raio interno da rosca (10..90) e o ângulo inicial em graus para gráficos de pizza e rosca
OfPieType, OfPieSplitType, OfPieSplitPos, OfPieSecondPieSize and OfPieGapWidthLayout de pizza de pizza e barra de pizza, regra de divisão e tamanhos das plotagens primária e secundária
RoundedCornersAlterna cantos arredondados no espaço do gráfico
AutoTitleDeletedSuprime o título automático derivado do nome de uma única série e emite c:autoTitleDeleted
ChartBackgroundColor, ChartBorderColor and PlotAreaBackgroundColorCores de preenchimento e borda do gráfico e da área de plotagem como valores $RRGGBB; 0 mantém o padrão do tema
ProtectionEnabled, ProtectedChartObjects, ProtectedDataEditing, ProtectedFormatting, ProtectedSelection and ProtectedUserInterfaceChave de proteção do gráfico e as restrições individuais de edição que ela emite como c:protection
OwnerSheetReferência somente leitura à planilha que contém este gráfico

Tipos de gráfico e grupos de combinação

TXLSXChartType inclui as famílias coluna, barra, linha, pizza, área, rosca, dispersão, bolha, radar, ações, pizza de pizza, superfície, superfície 3D, coluna 3D, barra 3D, linha 3D, pizza 3D e área 3D
O primeiro grupo de plotagem é o grupo de compatibilidade controlado por ChartType e AddSeries Grupos adicionais são adicionados com AddPlotGroup e podem usar xlsxAxisPrimary ou xlsxAxisSecondary

Séries, linhas de tendência e barras de erro

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;
TrendlineTypeLinha de tendência linear, exponencial, logarítmica, polinomial, de potência ou média móvel
DispEq and DispRSqrMostra a equação e o valor R-quadrado no gráfico
Order and PeriodOrdem polinomial ou período de média móvel para o tipo de linha de tendência correspondente
ValueTypeMagnitude de erro fixa, percentual, de desvio padrão, de erro padrão ou personalizada
NoEndCapOculta a extremidade em qualquer lado de uma barra de erro

Membros dos eixos e dos rótulos de dados

LogBase and OrientationBase da escala logarítmica e ordenação de eixo normal ou invertida
MajorGridlines and MinorGridlinesControles de visibilidade das linhas de grade
MinValue, MaxValue, MajorUnit and MinorUnitLimites de escala explícitos e espaçamento de ticks onde houver suporte
CrossesAt, TickLblPos and DispUnitsPosição de cruzamento do eixo, posicionamento dos rótulos e unidades de exibição
ShowValue, ShowCategoryName, ShowSeriesName, ShowLegendKey, ShowPercent and ShowBubbleSizeComponentes de rótulos de dados por série
SeparatorTexto usado entre vários componentes de rótulos de dados exibidos

Preservando ChartML não suportado

Quando TXLSXWorkbook.PreserveUnsupportedParts está habilitado, que é o padrão, um gráfico importado retém seu ChartML original Um gráfico intacto reproduz esse XML sem normalização, enquanto mudanças em propriedades tipadas sobrepõem o modelo HotXLS gerado à árvore original
Namespaces desconhecidos, AlternateContentde markup-compatibility, listas de extensão, estilos personalizados e formatação não modelada permanecem anexados aos respectivos objetos de gráfico durante edições de propriedades conhecidas Chame ClearPreservedXml para descartar esse XML retido de um gráfico e regenerá-lo apenas a partir das propriedades tipadas

Exemplo

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;

Veja também