Skip to content

chart ChartBubble

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

ChartBubble — Bolhas

Gráfico de bolhas: extensão do gráfico de dispersão onde cada ponto tem um tamanho proporcional a um terceiro valor.
Elemento ECMA-376: c:bubbleChart — §21.2.2.20.

Herda de ChartScatter, portanto suporta SetEstilo e SetXY da série.

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

Somente via instância direta:

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

Informando X, Y e Tamanho

Os dados da série são informados via métodos do objeto Serie:

Local oSerie := oGraf:AddSerie("Série")
oSerie:SetXY(cRefX, cRefY, aX, aY)           // Coordenadas X e Y
oSerie:SetTamanho(cRefTam, aTam)             // Tamanho das bolhas

Métodos específicos


SetEscala

:SetEscala(nEscala)
Define o fator de escala do tamanho das bolhas em relação à área do gráfico.

Parâmetro Tipo Descrição Obrigatório Obs
nEscala numérico Percentual de escala (1 a 300) X Default 100

Retorno: objeto self


SetTamRepr

:SetTamRepr(cTamRepr)
Define o que o tamanho da bolha representa visualmente.

Parâmetro Tipo Descrição Obrigatório Obs
cTamRepr caractere "area" = área da bolha, "w" = largura da bolha X Default "area"

Retorno: objeto self


Exemplo

// Dados: cidade, população (x), renda (y), área (tamanho)
Local aPop    := {500,800,1200,300,950}
Local aRenda  := {25000,32000,45000,18000,38000}
Local aArea   := {1000,2500,5000,400,3000}

Local oGraf := custom.excel.chart.ChartBubble():New(oExcel)
oGraf:SetTitulo("Cidades: População x Renda")
oGraf:SetEscala(80)         // Bolhas um pouco menores
oGraf:SetTamRepr("area")    // Tamanho = área visual

Local oSerie := oGraf:AddSerie("Cidades")
oSerie:SetXY( , , aX = aPop, aY = aRenda)
oSerie:SetTamanho( , aTam = aArea)

oGraf:Insert(1, 9, 16, 17)

ChartSurface — Superfície

Gráfico de superfície 3D, útil para visualizar correlações entre três variáveis.
Elemento ECMA-376: c:surface3DChart / c:surfaceChart (wireframe 2D).

Somente via instância direta:

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

Herda todos os métodos da classe base Chart incluindo Set3D.


Método específico

SetWireframe

:SetWireframe(lWireframe)
Exibe o gráfico somente como estrutura de arame, sem preenchimento das faces.

Parâmetro Tipo Descrição Obrigatório Obs
lWireframe lógico .T. exibe apenas as linhas Default .F.

Retorno: objeto self


Exemplos

Superfície 3D padrão:

Local oGraf := custom.excel.chart.ChartSurface():New(oExcel)
oGraf:SetTitulo("Superfície de Dados")
oGraf:Set3D(lAtivo = .T., nRotX = 20, nRotY = 30)
oGraf:AddSerie("Série 1", "Dados!$B$2:$D$7", "Dados!$A$2:$A$7")
oGraf:Insert(1, 9, 16, 17)

Superfície wireframe (somente linhas):

Local oGraf := custom.excel.chart.ChartSurface():New(oExcel)
oGraf:SetWireframe(.T.)
oGraf:AddSerie("Série 1", "Dados!$B$2:$D$7", "Dados!$A$2:$A$7")
oGraf:Insert(1, 9, 16, 17)

Clone this wiki locally