uses
VCLTee.Chart, VCLTee.DBChart
var
Chart: TChart;
Serie1: TBarSeries;
begin
// TipoValor: I = Inteiro, D = Double/Float, C = Currency
// Cria o gráfico
Chart := TChart.Create(AOwner);
Chart.Parent := AOwner;
Chart.Align := alClient;
// Configurações adicionais do gráfico
Chart.Title.Text.Text := Titulo.Trim;
Chart.Axes.Bottom.Title.Caption := TituloLinha.Trim;
Chart.Axes.Left.Title.Caption := TituloColuna.Trim;
Chart.Axes.Bottom.LabelsAngle := IfThen(RecordCount = 1, 0, IfThen(RecordCount >= 10, 90, 45)); // Inclina as etiquetas para melhor visualização
Chart.Legend.Visible := True;
Chart.Legend.Alignment := laBottom;
Chart.Zoom.Allow := False; // Desabilitar Zoom
Chart.ZoomWheel := pmwNone; // Desabilitar Zoom
Chart.AllowPanning := pmNone; // Desabilitar Barra de Rolagem
Chart.Panning.MouseWheel := pmwNone; // Desabilitar Barra de Rolagem
Chart.PopupMenu := PopupExportarGrafico;
// Cria e configura as séries de barras
Serie1 := TBarSeries.Create(Chart);
Serie1.MultiBar := mbStacked100;
Serie1.BarStyle := bsRectangle; // bsCilinder
Serie1.SeriesColor := Serie1Cor; // clGreen;
Serie1.Title := Serie1Legenda;
Serie1.ValueFormat := IfThen(TipoValor = 'C', ',0.00', IfThen(TipoValor = 'D', ',0.000', ''));
Serie1.Marks.Visible := True;
Serie1.Marks.Style := smsValue;
Serie1.MarksLocation := mlCenter;
Serie1.MarksOnBar := True;
Chart.AddSeries(Serie1);
Serie1.Add(Valor);
end;