Saltar para o conteúdo principal
Versão: 21 R4 BETA

GRAPH

GRAPH ( grafArea : Picture ; grafNum : Integer, Object ; xCategorias : Array {; ...yValores : Array} )

ParâmetroTipoDescrição
grafAreaPicture→Area do gráfico ou variável da imagem
grafNumInteger, Object→Número do tipo do gráfico
xCategoriasArray→Rótulos para o eixo x
yValoresArray→Dados para gráfico (até oito permitido)
Histórico
VersãoAlterações
15 R4Modificado
14Modificado
13Modificado
11 SQLModificado
<6Criado

Descrição​

O comando GRAPH cria um gráfico em uma área de gráfico ou uma variável imagem localizada em um formulário a partir dos valores provenientes dos arrays.

Os gráficos gerados por este comando podem ser criados utilizando o o motor de renderização SVG integrado. Eles gostam de as funções de interface associadas com variáveis imagens: menu de contexto no modo Aplicação (inclusive permitindo a escolha do formato de exibição), barras de rolagem, etc. Os IDs são automaticamente atribuídos a elementos específicos no gráfico gerado, que pode manipular (ver próximo parágrafo).

Nota: SVG (Scalable Vector Graphics) é um formato de arquivo gráfico vetorial (extensão .svg). Baseado em XML, este formato é estendido e pode ser mostrado mais particularmente em navegadores Web. Para maior informação, consulte a seguinte direção: http://www.w3.org.Graphics/SVG/. O comando SVG EXPORT TO PICTURE também pode ser utilizado para aproveitar o motor SVG integrado.

No parâmetro grafImagem, passe o nome da variável imagem que mostra o gráfico no formulário.

O segundo parâmetro define o tipo de gráfico a utilizar. Há duas possibilidades:

  • passar um parâmetro grafNum de tipo Inteiro longo (todas as versões de 4D): neste caso, deve passar um número entre 1 e 8. Os diferentes tipos de gráficos são descrtos no exemplo abaixo. Depois de desenhar um gráfico, pode mudar o tipo modificando o valor de grafNum e executando novamente o comando GRAPH. Depois pode modificar certas características do gráfico chamando ao comando GRAPH SETTINGS. Ver o exemplo 1.
  • passar um parâmetro grafParams de tipo Objeto (versões 4D de 64 bits somente , exceto 4D Server Windows 64 bits): neste caso, deve passar um objeto que contenha as diversas propriedades do gráfico a definir. Para isso, poede utilizar as constantes que são encontradas no tema "Parâmetros de Gráficos" (ver mais adiante). Esta sintaxe permite definir o tipo de gráfico junto com seus parâmetros específicos (legenda, xmin, etc.) em uma única chamada. Isto permite aos usuários salvar os gráficos gerados como imagens SVG regulares e faz com que seja possível visualizar os gráficos usando um navegador padrão como Firefox, Chrome, IE ou Safari (os gráficos gerados cumprem com a norma SVG implementada nos navegadores). Além disso, esta sintaxe lhe permite acessar a varios ajustes adicionais, que lhe permitem personalizar, por exemplo, o espaciado entre as barras, as margens, cores da barra, etc. Ver os exemplos 2, 3 y 4. Advertência: se utilizar esta sintaxe, o comando GRAPH SETTINGS NÃO deve ser chamado.

O parâmetro xCategorias define as etiquetas que serão utilizadas pelo eixo x. (a parte inferior do gráfico). Este dado pode ser de tipo alfa, hora, data ou numérico. Deve haver o mesmo número de elementos de array em xCategorias que em cada yValores.

Os dados especificados por yValores são os dados a graficar. Os dados devem ser de tipo numérico. Podem ser graficados até oito conjuntos de dados. Os gráficos por setores só representam os primeiros yValores.

IDs automáticos​

Os IDs específicos agora são asignados automaticamente aos elementos presentes no gráfico SVG:

IDsDescrição
ID_graph_1 to ID_graph_8Colunas, linhas, áreas...
ID_graph_shadow_1 to ID_graph_shadow_8Sombras das colunas, linhas, áreas...
ID_bullet_1 to ID_bullet_8Pontos (gráficos de linhas e pontos somente)
ID_pie_label_1 to ID_pie_label_8Rótulos dos gráficos de pizza (apenas gráficos de pizza)
ID_legendLegendas
ID_legend_1 to ID_legend_8Títulos das legendas
ID_legend_borderBordas das lendas
ID_legend_border_shadowSombras das bordas das legendas
ID_x_valuesValores eixo X
ID_y_valuesValores do eixo Y
ID_y0_axisValores do eixo Z
ID_backgroundFundo
ID_background_shadowSombra do Fundo
ID_x_gridGrade no eixo X
ID_x_grid_shadowSombra da grade no eixo X
ID_y_gridGrade no eixo Y
ID_y_grid_shadowSombra da grade no eixo Y

atributos grafParams​

Quando utilizar o parâmetro grafParams, deve passar um objeto que contenha as diferentes propriedades do gráfico a definir. Pode utilizar as seguintes constantes, que se encontram no tema de constantes "Parâmetros de Gráficos":

ConstanteTipoValorComentário
Graph background colorCadeiagraphBackgroundColorValores possíveis: expressão de cor compatível comn SVG (texto), por exemplo "#7F8E00", "Pink", ou "#0a1414"
Graph background opacityCadeiagraphBackgroundOpacityValores possíveis:inteiros, faixa de 0-100
Valor normal: 100
Graph background shadow colorCadeiagraphBackgroundShadowColorValores possiveis: expressão de cor compatível com SVG (texto), por exemplo "#7F8E00", "Pink", ou "#0a1414"
Graph bottom marginCadeiabottomMarginValores possíveis: números reais
Valor pré-determinado: 12
Graph colorsCadeiacolorsValores possíveis: array texto. As cores para cada série de gráfico.
Valores pré-determinados: Blue-green (#19BAC9), Yellow (#FFC338), Purple (#573E82), Green (#4FA839), Orange (#D95700), Blue (#1D9DF2), Yellow-green (#B5CF32), Red (#D43A26)
Graph column gapCadeiacolumnGapValores possíveis:inteiros longos
Valor normal: 12
Define o espaço entre as barras
Graph column width maxCadeiacolumnWidthMaxValores possíveis: números reais
Valor pré-determinado: 200
Graph column width minCadeiacolumnWidthMinValores possíveis: números reais
Valor pré-determinado: 10
Graph default heightCadeiadefaultHeightValores possíveis: números reais
Valor possíveis: 400. Se graphType=7 (Torta), depois valor normal = 600
Graph default widthCadeiadefaultWidthValores possíveis: números reais
Valor possíveis: 600. Se graphType=7 (Torta), depois valor normal = 800
Graph display legendCadeiadisplayLegendValores possíveis: Booleano
Valor normal: True
Graph document background colorCadeiadocumentBackgroundColorValores posíveis: expressão cor SVG (texto), por exemplo "#7F8E00", "Pink", ou "#0a1414". Quando um gráfico salvo como imagem SVG se abre em outro lugar, a cor de fundo do documento só é mostrada se o motor de renderizado suporta a norma SVG Tiny 1.2 (suportado por IE, Firefox, mas não em Chrome).
Graph document background opacityCadeiadocumentBackgroundOpacityValores possíveis: inteiro, faixa 0-100 (valor normal: 100). Quando um gráfico salvo como imagem SVG é aberto em outro lugar, a cor de fundo do documento só é mostrada se o motor de renderizado suportar a norma SVG Tiny 1.2 (suportado por IE, Firefox, mas não em Chrome).
Graph font colorCadeiafontColorValores possíveis: expressão cor SVG (texto), por exemplo "#7F8E00", "Pink", ou "#0a1414"
Graph font familyCadeiafontFamilyValores possíveis: Nome da familia de fontes
Valor padrão: "Arial"
Graph font sizeCadeiafontSizeValores possíveis: inteiros longos
Valor como padrão: 12. Se graphType=7 (Pie), ver Graph pie font size
Graph left marginCadeialeftMarginValores possíveis: números reais
Valor pré-determinado: 12
Graph legend font colorCadeialegendFontColorValores possíveis: expressão de cor compatível com SVG (texto), por exemplo "#7F8E00", "Pink", ou "#0a1414"
Graph legend icon gapCadeialegendIconGapValores possíveis: números reais
Valor como padrão: Graph legend icon height/2
Graph legend icon heightCadeialegendIconHeightValores possíveis: números reais
Valor pré-determinado: 20
Graph legend icon widthCadeialegendIconWidthValores possíveis: números reais
Valor pré-determinado: 20
Graph legend labelsCadeialegendLabelsValores possíveis: array texto. Se faltar, 4D mostra ícones sem texto.
Graph line widthCadeialineWidthValores possíveis: números reais
Valor pré-determinado: 2
Graph number formatCadeianumberFormatValores possíveis: string de formato de número, por exemplo: "###,###,##0"
Valor padrão: "" (sem formato).
Graph pie directionCadeiapieDirectionValores possíveis: 1 ou -1
Valor padrão: 1
1 indica a direção dos ponteiros do relógio, -1 indica a direção anti-horária
Graph pie font sizeCadeiapieFontSizeValores possíveis: números reais
Valor pré-determinado: 16
Graph pie shiftCadeiapieShiftValores possíveis: números reais
Valor pré-determinado: 8
Graph pie start angleCadeiapieStartAngleValores possíveis: números reais (positivos ou negativos)
Valor como padrão: 0, que representa um ângulo de início de 0° (posição para cima)
Um valor positivo representa um ângulo relativo à direção atual da pizza. Um valor negativo representa um ângulo relativo a direção oposta à pizza
Graph plot heightCadeiaplotHeightValores possíveis: números reais
Valor pré-determinado: 12
Graph plot radiusCadeiaplotRadiusValores possíveis: números reais
Valor pré-determinado: 12
Graph plot widthCadeiaplotWidthValores possíveis: números reais
Valor pré-determinado: 12
Graph right marginCadeiarightMarginValores possíveis: números reais
Valor pré-determinado: 2
Graph top marginCadeiatopMarginValores possíveis: números reais
Valor pré-determinado: 2
Graph typeCadeiagraphTypeValores possíveis: inteiros longos [1 a 8], onde 1 = barras, 2 = proporcional, 3 = empilhados, 4 = linhas, 5 = superfícies, 6 = pontos, 7 = torta, 8 = imagens.
Valor normal: 1

Se for nulo, o gráfico não é desenhado e não se mostra nenhuma mensagem de erro. Se estiver fora da faixa, o gráfico não é desenhado e se mostra uma mensagem de erro.

Para os gráficos tipo de imagem (valor = 8), as imagens utilizadas devem ser armazenadas na seguinte pasta: 4D/Resources/GraphTemplates/Graph_8_Pictures/.
Não há um padrão de nomes de imagens; 4D ordena os arquivos contidos na pasta e lhe atribui o primeiro arquivo ao primeiro gráfico. Estes arquivos podem ser do tipo SVG ou imagem.
Graph xGridCadeiaxGridValores possíveis: Booleano
Valor normal: True.
Só se utiliza com os tipos proporcionais 4 e 6.
Graph xMaxCadeiaxMaxValores possíveis: número, data, hora (mesmo tipo que o parâmetro xLabels).
Só os valores mais altos que xMax se mostram no gráfico. xMax se utiliza somente para os tipos de gráficos 4, 5 ou 6 se xProp = true e se o tipo xLabels for um número, data ou hora. Se faltar ou se xMin>xMax, 4D calcula automaticamente o valor xMax.
Graph xMinCadeiaxMinValores possíveis: número, data, hora (mesmo tipo que o parâmetro xLabels).
Só os valores mais altos que xMin se mostram no gráfico. xMin se utiliza somente para os tipos de gráficos 4, 5 ou 6 se xProp = true e se o tipo xLabels for um número, data ou hora. Se faltar ou se xMin>xMax, 4D calcula automaticamente o valor xMin.
Graph xPropCadeiaxPropValores possíveis: Booleano
**Valor normal:**True
True para eixoe x proporcional; False para eixo x normal. xProp se utiliza unicamente para os tipos de gráficos 4, 5 ou 6
Graph yGridCadeiayGridValores possíveis: Booleano
Valor normal: True
Graph yMaxCadeiayMaxValores **possíveis: números
Se faltar, 4D calcula automaticamente o valor yMax.
Graph yMinCadeiayMinValores possíveis: números
Se faltar, 4D calcula automaticamente o valor yMin.

Exemplo 1​

Sintaxe com grafNumber: o seguinte exemplo mostra os diferentes tipos de gráficos que pode obter. O código deve ser inserido em um método formulário ou método objeto do formulário que contenha a variável imagem. Os dados representados são constantes, geralmente este não é o caso:

O exemplo a seguir mostra os diferentes tipos de gráficos que você pode obter. O código deve ser inserido em um método formulário ou método objeto que contém a variável imagem. Os dados representados são constantes, geralmente este não é o caso:

 var vGraph : Picture //Variável do gráfico
 ARRAY TEXT(4;X;2) //Criação de um array para o eixo X
 X{1}:="1995" //X Label #1
 X{2}:="1996" //X Label #2
 ARRAY REAL(A;2) //Criação de um array para o eixo Y
 A{1}:=30 //Inserção de dados
 A{2}:=40
 ARRAY REAL(B;2) //Criação de um array para o eixo Y
 B{1}:=50 //Inserção de dados
 B{2}:=80
 vType:=1 //Inicializar tipo de gráfico
 GRAPH(vGraph;vType;X;A;B) //Desenhar o gráfico
 GRAPH SETTINGS(vGraph;0;0;0;0;False;False;True;"France";"USA") //Definição das lendas para o gráfico

As seguinte imagens mostram o gráfico resultante.

  • Com vType igual a 1, obtém um gráfico em Colunas:
  • Com vType igual a 2, obtém um gráfico em Colunas proporcionais:
  • Com vType igual a 3, obtém um gráfico em Colunas empilhadas:
  • Com vType igual a 4, obtém um gráfico em Linhas:
  • Com vType igual a 5, obtém um gráfico em Áreas:
  • Com vType igual a 6, obtém um gráfico em Pontos:
  • Com vType igual a 7, obtém um gráfico em Setores:
  • Com vType igual a 8, obtém um gráfico em Imagens:

Exemplo 2​

Sintaxe utilizando grafParams: no seguinte exemplo, um gráfico de linha simples é desenhado baseado nos valores de tempos:

 var vGraph : Picture //Variável gráfico
 ARRAY TIME(X;3) //Criar array para os eixos x
 X{1}:=?05:15:10? //Etiqueta X #1
 X{2}:=?07:15:10? //Etiqueta X #2
 X{3}:=?12:15:55? //Etiqueta X #3
 
 ARRAY REAL(A;3) //Criar array para eixo y
 A{1}:=30 //Inserir alguns dados
 A{2}:=22
 A{3}:=50
 
 ARRAY REAL(B;3) //Criar outro array para eixo y
 B{1}:=50 //Inserir alguns dados
 B{2}:=80
 B{3}:=10
 
 var vSettings : Object //Inicializar parâmetros de gráficos
 
 OB SET(vSettings;Graph type;4) //Tipo de linha
 
 ARRAY TEXT(aLabels;2) //Definir legendas para o gráfico
 aLabels{1}:="Mary"
 aLabels{2}:="John"
 OB SET ARRAY(vSettings;Graph legend labels;aLabels)
 
 GRAPH(vGraph;vSettings;X;A;B) //Draw graph

Exemplo 3​

Com os mesmos valores, pode agregar uma configuração personalizada para obter uma vista diferente:

 var vGraph : Picture //Variável gráfico
 ARRAY TIME(X;3) //Criar um array para o eixo x
 X{1}:=?05:15:10? //Etiqueta X #1
 X{2}:=?07:15:10? //Etiqueta X #2
 X{3}:=?12:15:55? //Etiqueta X #3
 
 ARRAY REAL(A;3) //Cria um array para o eixo y
 A{1}:=30 //Insere alguns dados
 A{2}:=22
 A{3}:=50
 
 ARRAY REAL(B;3) //Cria outro array para o eixo y
 B{1}:=50 //Insere alguns dados
 B{2}:=80
 B{3}:=10
 
 var vSettings : Object //inicialização dos parâmetros do gráfico
 
 OB SET(vSettings;Graph type;4)/Tipo de linhas
 
 ARRAY TEXT(aLabels;2) //definir as legendas do gráfico
 aLabels{1}:="Mary"
 aLabels{2}:="John"
 OB SET ARRAY(vSettings;Graph legend labels;aLabels)
 
  //opções
 OB SET(vSettings;Graph xProp;True) //definir proporcional
 OB SET(vSettings;Graph xGrid;False) //eliminar a grade vertical
 OB SET(vSettings;Graph xMin;?03:00:00?) //definir límites
 OB SET(vSettings;Graph xMax;?20:00:00?)
 
 GRAPH(vGraph;vSettings;X;A;B) //Desenha o gráfico

Exemplo 4​

Neste exemplo, personalizamos alguns parâmetros:

 var vGraph : Picture //Variavel do gráfico
 ARRAY TEXT(X;5) //Criação  de um array para o eixo x
 X{1}:="Monday" //#1 Etiqueta X
 X{2}:="Tuesday" //#2 Etiqueta X
 X{3}:="Wednesday" //#3 Etiqueta X
 X{4}:="Thursday" //#4 Etiqueta X
 X{5}:="Friday" //#5 Etiqueta X
 
 ARRAY LONGINT(A;5) //Criar um array para o eixo y
 A{1}:=30 //Inserir alguns dados
 A{2}:=22
 A{3}:=50
 A{4}:=45
 A{5}:=55
 
 ARRAY LONGINT(B;5) //Criar outro array para o eixo y
 B{1}:=50 //Inserir alguns dados
 B{2}:=80
 B{3}:=10
 B{4}:=5
 B{5}:=72
 
 var vSettings : Object //inicialização de parâmetros do gráfico
 
 OB SET(vSettings;Graph type;1) //tipo Barras
 
 ARRAY TEXT(aLabels;2) //Definir as legendas para o gráfico
 aLabels{1}:="Mary"
 aLabels{2}:="John"
 OB SET ARRAY(vSettings;Graph legend labels;aLabels)
 
  //opções
 OB SET(vSettings;Graph yGrid;False) //eliminar a grade vertical
 OB SET(vSettings;Graph background color;"#573E82") //definir uma cor de fundo
 OB SET(vSettings;Graph background opacity;40)
 ARRAY TEXT($aTcols;2) //definir as cores para o gráfico
 $aTcols{1}:="#B5CF32"
 $aTcols{2}:="#D43A26"
 OB SET ARRAY(vSettings;Graph colors;$aTcols)
 GRAPH(vGraph;vSettings;X;A;B) //Desenhar o gráfico

Ver também​

GRAPH SETTINGS
Parâmetros de Gráficos
SVG EXPORT TO PICTURE

Propriedades​

Número do comando169
Thread-seguroyes