Skip to content

chart ChartScatter

Saulo Martins edited this page Jul 4, 2026 · 1 revision

ChartScatter — Dispersão XY

Gráfico de dispersão com dois eixos numéricos (X e Y).
Elemento ECMA-376: c:scatterChart — §21.2.2.161.

Criado via oExcel:NewChart("scatter") ou instância direta:

Local oGraf := custom.excel.chart.ChartScatter():New(oExcel)

Herda todos os métodos da classe base Chart.

Não possui versão 3D. Chamar :Set3D() gera UserException.


Métodos específicos


SetEstilo

:SetEstilo(cEstilo)
Define o estilo de exibição dos pontos da dispersão.

Parâmetro Tipo Descrição Obrigatório Obs
cEstilo caractere Estilo (tabela abaixo) X Default "marker"
Valor Descrição
"marker" Somente pontos (padrão)
"lineMarker" Linhas retas com pontos
"smoothMarker" Linhas suavizadas com pontos
"line" Somente linhas retas (sem pontos)
"smooth" Somente linhas suavizadas (sem pontos)

Retorno: objeto self


Informando os dados X e Y

Para dispersão, os dados X e Y são informados de duas formas:

Via AddSerie (cRefCat = X, cRefVal = Y):

oGraf:AddSerie("Série", cRefVal = "Dados!$G$2:$G$11", cRefCat = "Dados!$F$2:$F$11")

Via SetXY no objeto Serie (mais explícito):

Local oSerie := oGraf:AddSerie("Série")
oSerie:SetXY("Dados!$F$2:$F$11", "Dados!$G$2:$G$11", aX, aY)

Exemplos

Dispersão com apenas pontos:

// Dados de temperatura x vendas de sorvete
Local aTemp    := {18,20,22,24,26,28,30,32,34,36}
Local aSorvete := {12,15,20,26,30,38,45,50,58,65}

Local oGraf := custom.excel.chart.ChartScatter():New(oExcel)
oGraf:SetEstilo("marker")
oGraf:SetTitulo("Temperatura x Sorvetes")
oGraf:SetLegenda(.F.)
Local oSerie := oGraf:AddSerie("Sorvetes")
oSerie:SetXY("Dados!$F$2:$F$11", "Dados!$G$2:$G$11", aTemp, aSorvete)
oGraf:Insert(35, 9, 50, 17)

Dispersão com linhas suavizadas:

Local oGraf := custom.excel.chart.ChartScatter():New(oExcel)
oGraf:SetEstilo("smooth")
oGraf:SetTitulo("Correlação Suavizada")
oGraf:AddSerie("Série 1", "Dados!$B$2:$B$7", "Dados!$A$2:$A$7")
oGraf:Insert(1, 9, 16, 17)

Múltiplas séries com linhas e pontos:

Local oGraf := custom.excel.chart.ChartScatter():New(oExcel)
oGraf:SetEstilo("lineMarker")
oGraf:AddSerie("Produto A", "Dados!$B$2:$B$7", "Dados!$A$2:$A$7")
oGraf:AddSerie("Produto B", "Dados!$C$2:$C$7", "Dados!$A$2:$A$7")
oGraf:Insert(1, 9, 16, 17)

Clone this wiki locally