Gráfico
Adicionar gráfico
func (f *File) AddChart(sheet, cell, opts string, combo ...string) error
AddChart fornece o método para adicionar um gráfico em uma planilha por determinado conjunto de formato de gráfico (como deslocamento, escala, configuração de proporção de aspecto e configurações de impressão) e conjunto de propriedades.
O seguinte mostra o Type de gráfico suportado pelo Excelize:
| ID | Enumeração | Gráfico |
|---|---|---|
| 0 | Area | Gráfico de área 2D |
| 1 | AreaStacked | Gráfico de áreas empilhadas 2D |
| 2 | AreaPercentStacked | Gráfico de áreas 2D 100% empilhadas |
| 3 | Area3D | Gráfico de área 3D |
| 4 | Area3DStacked | Gráfico de áreas empilhadas 3D |
| 5 | Area3DPercentStacked | Gráfico de áreas 3D 100% empilhadas |
| 6 | Bar | Gráfico de barras agrupadas 2D |
| 7 | BarStacked | Gráfico de barras empilhadas 2D |
| 8 | BarPercentStacked | Gráfico de barras 2D 100% empilhadas |
| 9 | Bar3DClustered | Gráfico de barras agrupadas 3D |
| 10 | Bar3DStacked | Gráfico de barras empilhadas 3D |
| 11 | Bar3DPercentStacked | Gráfico de barras 3D 100% empilhadas |
| 12 | Bar3DConeClustered | Gráfico de barras agrupadas em cone 3D |
| 13 | Bar3DConeStacked | Gráfico de barras empilhadas em cone 3D |
| 14 | Bar3DConePercentStacked | Gráfico de barras cônicas 3D 100% |
| 15 | Bar3DPyramidClustered | Gráfico de barras agrupadas em pirâmide 3D |
| 16 | Bar3DPyramidStacked | Gráfico de barras empilhadas em pirâmide 3D |
| 17 | Bar3DPyramidPercentStacked | Gráfico de barras empilhadas 3D com cilindro 100% |
| 18 | Bar3DCylinderClustered | Gráfico de barras agrupadas de cilindro 3D |
| 19 | Bar3DCylinderStacked | Gráfico de barras empilhadas de cilindro 3D |
| 20 | Bar3DCylinderPercentStacked | Gráfico de barras empilhadas 3D com cilindro 100% |
| 21 | Col | Gráfico de colunas agrupadas 2D |
| 22 | ColStacked | Gráfico de colunas empilhadas 2D |
| 23 | ColPercentStacked | Gráfico de colunas 2D 100% empilhadas |
| 24 | Col3DClustered | Gráfico de colunas agrupadas 3D |
| 25 | Col3D | Gráfico de colunas 3D |
| 26 | Col3DStacked | Gráfico de colunas empilhadas 3D |
| 27 | Col3DPercentStacked | Gráfico de colunas 3D 100% empilhadas |
| 28 | Col3DCone | Gráfico de colunas de cone 3D |
| 29 | Col3DConeClustered | Gráfico de colunas agrupadas em cone 3D |
| 30 | Col3DConeStacked | Gráfico de colunas empilhadas em cone 3D |
| 31 | Col3DConePercentStacked | Gráfico de colunas 3D 100% empilhadas em cone |
| 32 | Col3DPyramid | Gráfico de colunas em pirâmide 3D |
| 33 | Col3DPyramidClustered | Gráfico de colunas agrupadas em pirâmide 3D |
| 34 | Col3DPyramidStacked | Gráfico de colunas empilhadas em pirâmide 3D |
| 35 | Col3DPyramidPercentStacked | Gráfico de colunas empilhadas em pirâmide 3D 100% |
| 36 | Col3DCylinder | Gráfico de colunas de cilindro 3D |
| 37 | Col3DCylinderClustered | Gráfico de colunas agrupadas em cilindro 3D |
| 38 | Col3DCylinderStacked | Gráfico de colunas empilhadas de cilindro 3D |
| 39 | Col3DCylinderPercentStacked | Gráfico de colunas empilhadas 100% cilindro 3D |
| 40 | Doughnut | Gráfico de rosca |
| 41 | Line | Gráfico de linha |
| 42 | Line3D | Gráfico de linhas 3D |
| 43 | Pie | Gráfico de pizza |
| 44 | Pie3D | Gráfico de pizza 3D |
| 45 | PieOfPie | Gráfico pizza of pizza |
| 46 | BarOfPie | Gráfico barra do pizza |
| 47 | Radar | Gráfico de radar |
| 48 | Scatter | Gráfico de dispersão |
| 49 | Surface3D | Gráfico de superfície 3D |
| 50 | WireframeSurface3D | Gráfico de superfície de wireframe 3D |
| 51 | Contour | Gráfico de contorno |
| 52 | WireframeContour | Gráfico de contorno de wireframe |
| 53 | Bubble | Gráfico de bolhas |
| 54 | Bubble3D | Gráfico de bolhas 3D |
| 55 | StockHighLowClose | Gráfico de ações de alta-baixa-fechamento |
| 56 | StockOpenHighLowClose | Gráfico de ações Abertura-Máxima-Mínima-Fechamento |
No intervalo de dados do gráfico do Office Excel, Series especifica o conjunto de informações para os quais os dados serão desenhados, o item da legenda (série) e o rótulo do eixo horizontal (categoria).
As opções de Series que podem ser definidas são:
| Parâmetro | Explicação |
|---|---|
| Name | Item de legenda (série), exibido na legenda do gráfico e na barra de fórmulas. O parâmetro Name é opcional. Se você não especificar esse valor, o padrão será Series 1 .. n. suporte Name para representação de fórmula, por exemplo: Planilha1!$A$1. |
| Categories | Etiqueta do eixo horizontal (categoria). O parâmetro Categories é opcional na maioria dos tipos de gráficos, o padrão é uma sequência contígua no formato 1..n. |
| Values | A área de dados do gráfico, que é o parâmetro mais importante em Series, também é o único parâmetro obrigatório ao criar um gráfico. Esta opção vincula o gráfico aos dados da planilha que ele exibe. |
| Fill | Isso define o formato do preenchimento da série de dados. |
| Legend | Isso define a fonte do texto da legenda para uma série de dados. A propriedade Legend é opcional. |
| Line | Isso define o formato da linha do gráfico de linhas. A propriedade Line é opcional e se não for fornecida será o estilo padrão. As opções que podem ser definidas são Width. O intervalo de Width é 0,25pt - 999pt. Se o valor da largura estiver fora do intervalo, a largura padrão da linha será 2pt. |
| Marker | Isso define o marcador do gráfico de linhas e do gráfico de dispersão. O intervalo do campo opcional Size é 2-72 (o valor padrão é 5). O valor de enumeração do campo opcional Symbol é (o valor padrão é auto): circle, dash, diamond, dot, none, picture, plus, square, star, triangle, x e auto. |
| DataLabelPosition | Isso define a posição do rótulo de dados da série do gráfico. |
| DataPoint | Esta opção define o formato para pontos de dados individuais em uma série de gráficos de rosca, pizza ou pizza 3D. A propriedade DataPoint é opcional. |
Defina as propriedades da legenda do gráfico. As opções que podem ser definidas são:
| Parâmetro | Tipo | Explicação |
|---|---|---|
| Position | string |
A posição da legenda do gráfico |
| ShowLegendKey | bool |
Defina as chaves de legenda que serão mostradas nos rótulos de dados |
| Font | Font |
Defina as propriedades da fonte do texto da legenda do gráfico. As propriedades que podem ser definidas são as mesmas do objeto de fonte usado para formatação de células. As propriedades de família, tamanho, cor, negrito, itálico, sublinhado e tachado da fonte podem ser definidas |
Defina a Position da legenda do gráfico. A posição padrão da legenda é right. Este parâmetro só entra em vigor quando none é false. As vagas disponíveis são:
| Parâmetro | Explicação |
|---|---|
| none | Disable legend |
| top | On top |
| bottom | On bottom |
| left | On left |
| right | On right |
| top_right | On top right |
O parâmetro ShowLegendKey define as chaves de legenda que serão mostradas nos rótulos de dados. O valor padrão é false.
Defina as propriedades do título do gráfico pelo campo Title com o tipo de dados ChartTitle. As propriedades que podem ser definidas são:
| Parâmetro | Tipo | Explicação |
|---|---|---|
| Fill | Fill |
Defina a cor de preenchimento do título do gráfico. A propriedade Fill é opcional. |
| Border | LineOptions |
Defina a borda do título do gráfico; as propriedades que podem ser definidas são as mesmas do objeto de borda usado para formatação de células. A propriedade Border é opcional. |
| Paragraph | []RichTextRun |
Defina o texto formatado do título do gráfico. A propriedade Paragraph é opcional e não pode ser definida simultaneamente com a propriedade Formula. |
| Font | *Font |
Defina as propriedades da fonte do texto da fórmula do título do gráfico. A propriedade Font é opcional. |
| Formula | string |
Defina a fórmula do texto do título do gráfico. Por exemplo: Planilha1!$A$1. A propriedade Formula é opcional e não pode ser definida simultaneamente com a propriedade Paragraph. |
| OffsetX | int |
Defina o deslocamento horizontal do título do gráfico. A propriedade OffsetX é opcional. O valor padrão é 0 e o valor de OffsetX deve ser um número inteiro de 0 a 100. |
| OffsetY | int |
Defina o deslocamento vertical do título do gráfico. A propriedade OffsetY é opcional. O valor padrão é 0 e o valor de OffsetY deve ser um número inteiro de 0 a 100. |
| Width | int |
Defina a largura do título do gráfico. A propriedade Width é opcional. O valor padrão é 0 e o valor de Width deve ser um número inteiro de 0 a 100. |
| Height | int |
Defina a altura do título do gráfico. A propriedade Height é opcional. O valor padrão é 0 e o valor de Height deve ser um número inteiro de 0 a 100. |
| Overlay | bool |
Defina se o título do gráfico deve ser sobreposto ao gráfico. A propriedade Overlay é opcional. O valor padrão é false. |
O parâmetro ShowBlanksAs fornece a configuração "Ocultar e esvaziar células". O valor padrão é: gap. No aplicativo Excel, "a célula vazia é exibida como": "espaço". A seguir estão os valores opcionais para este parâmetro:
| Parâmetro | Explicação |
|---|---|
| gap | Espaço |
| span | Conecte pontos de dados com linhas retas |
| zero | Valor zero |
Defina a legenda do gráfico para todas as séries de dados pela propriedade Legend. A propriedade Legend é opcional.
Defina o tamanho da bolha em todas as séries de dados para o gráfico de bolhas ou gráfico de bolhas 3D pela propriedade BubbleSizes. A propriedade BubbleSizes é opcional. A largura padrão é 100 e o valor deve ser maior que 0 e menor ou igual a 300.
Defina o tamanho do furo de rosca em todas as séries de dados para o gráfico de rosca pela propriedade HoleSize. A propriedade HoleSize é opcional. A largura padrão é 75 e o valor deve ser maior que 0 e menor ou igual a 90.
Especifica que cada marcador de dados na série possui uma cor diferente por VaryColors. O valor padrão é true.
O parâmetro Format fornece configurações para parâmetros como deslocamento do gráfico, escala, configurações de proporção e propriedades de impressão, bem como aqueles usados na função AddPicture.
Defina as propriedades da área de plotagem do gráfico pelo campo PlotArea com o tipo de dados ChartPlotArea. As propriedades que podem ser definidas são:
| Parâmetro | Tipo | Valores padrão | Explicação |
|---|---|---|---|
| SecondPlotValues | int |
0 |
Especifica os valores no segundo gráfico para o gráfico PieOfPie e BarOfPie. |
| ShowBubbleSize | bool |
false |
Especifica que o tamanho da bolha deve ser mostrado em um rótulo de dados. |
| ShowCatName | bool |
true |
Specifies that the category name shall be shown in the data label. The ShowCatName property is optional. |
| ShowDataTable | bool |
false |
Usado para adicionar tabela de dados no gráfico, dependendo do tipo de gráfico, disponível somente para gráficos de área, barra, coluna e série de linhas. |
| ShowDataTableKeys | bool |
false |
Usado para adicionar chave de legenda na tabela de dados, funciona somente quando ShowDataTable está habilitado. A propriedade ShowDataTableKeys é opcional. |
| ShowLeaderLines | bool |
false |
Especifica que as linhas de chamada devem ser exibidas para rótulos de dados. A propriedade ShowLeaderLines é opcional. |
| ShowPercent | bool |
false |
E1specifica que a porcentagem deve ser mostrada em um rótulo de dados. |
| ShowSerName | bool |
false |
Especifica que o nome da série deve ser mostrado em um rótulo de dados. |
| ShowVal | bool |
false |
Especifica que o valor deve ser mostrado em um rótulo de dados. |
| Fill | Fill |
N/A | Defina a cor de preenchimento do gráfico. |
| UpBars | ChartUpDownBar |
N/A | Especifica o formato das barras ascendentes do gráfico de ações. A propriedade UpBars é opcional. |
| DownBars | ChartUpDownBar |
N/A | Especifica o formato das barras descendentes do gráfico de ações. A propriedade DownBars é opcional. |
| NumFmt | ChartNumFmt |
N/D | Especifica que se estiver vinculado à origem e definir o código de formato numérico personalizado para rótulos de dados. A propriedade NumFmt é opcional. O código de formato padrão é General. |
Defina as opções primárias dos eixos horizontal e vertical por XAxis e YAxis.
As propriedades de XAxis que podem ser definidas são:
| Parâmetro | Tipo | Valores padrão | Explicação |
|---|---|---|---|
| None | bool |
false |
Desative eixos. |
| DropLines | bool |
false |
Especifica linhas de derivação para gráficos de área e de linha 2D e 3D. As linhas de derivação são linhas verticais que conectam os pontos de dados em um gráfico ao eixo horizontal (de categoria). Elas são frequentemente usadas em gráficos de linha ou de área para facilitar a visualização da posição exata de cada ponto na categoria. A propriedade DropLines é opcional. |
| HighLowLines | bool |
false |
Especifica as linhas de máxima e mínima para o gráfico de linhas 2D. As linhas de máxima e mínima são exibidas por padrão nos gráficos de ações. Elas se estendem do valor mais alto ao valor mais baixo em cada categoria. A propriedade HighLowLines é opcional. |
| MajorGridLines | bool |
false |
Especifica as principais linhas de grade. |
| MinorGridLines | bool |
false |
Especifica linhas de grade secundárias. |
| TickLabelSkip | int |
1 |
Especifica quantos rótulos de escala devem ser ignorados entre os rótulos desenhados. A propriedade TickLabelSkip é opcional. O valor padrão é automático. |
| ReverseOrder | bool |
false |
Especifica que as categorias ou valores estão na ordem inversa (orientação do gráfico). A propriedade ReverseOrder é opcional. |
| Maximum | *float64 |
0 |
Especifica que o máximo fixo, 0, é automático. A propriedade máxima é opcional. |
| Minimum | *float64 |
0 |
Especifica que o mínimo fixo, 0, é automático. A propriedade mínima é opcional. O valor padrão é automático. |
| Alignment | Alignment |
N/D | Especifica o alinhamento dos eixos horizontal e vertical. As propriedades de fonte que podem ser definidas são: TextRotation e Vertical |
| Font | Font |
N/D | Especifica a fonte do eixo horizontal. |
| NumFmt | ChartNumFmt |
N/D | Especifica que se estiver vinculado à origem e definir o código de formato numérico personalizado para o eixo. |
| Title | []RichTextRun |
N/D | Especifica que o título do eixo horizontal primário e o gráfico de redimensionamento. |
As propriedades de YAxis que podem ser definidas são:
| Parâmetro | Tipo | Valores padrão | Explicação |
|---|---|---|---|
| None | bool |
false |
Desative eixos. |
| MajorGridLines | bool |
false |
Especifica as principais linhas de grade. |
| MinorGridLines | bool |
false |
Especifica linhas de grade secundárias. |
| MajorUnit | float64 |
0 |
Especifica a distância entre os ticks principais. Deve conter um número de ponto flutuante positivo. A propriedade MajorUnit é opcional. O valor padrão é automático. |
| ReverseOrder | bool |
false |
Especifica que as categorias ou valores estão na ordem inversa (orientação do gráfico). A propriedade ReverseOrder é opcional. |
| Maximum | *float64 |
0 |
Especifica que o máximo fixo, 0, é automático. A propriedade máxima é opcional. |
| Minimum | *float64 |
0 |
Especifica que o mínimo fixo, 0, é automático. A propriedade mínima é opcional. O valor padrão é automático. |
| Alignment | Alignment |
N/D | Especifica o alinhamento dos eixos horizontal e vertical. As propriedades de fonte que podem ser definidas são: TextRotation e Vertical |
| Font | Font |
N/D | Especifica a fonte do eixo vertical. |
| LogBase | float64 |
N/D | Especifica o número base da escala logarítmica do eixo vertical. |
| NumFmt | ChartNumFmt |
N/D | Especifica que se estiver vinculado à origem e definir o código de formato numérico personalizado para o eixo. |
| Title | []RichTextRun |
N/D | Especifica que o título do eixo vertical principal e o gráfico de redimensionamento. |
O valor de TextRotation que pode ser definido de -90 a 90.
Os valores de Vertical que podem ser definidos são: horz, vert, vert270, wordArtVert, eaVert, mongolianVert e wordArtVertRtl.
Defina o tamanho do gráfico pela propriedade Dimension. A propriedade de dimensão é opcional. As propriedades que podem ser definidas são:
| Parâmetro | Tipo | Valores padrão | Explicação |
|---|---|---|---|
| Height | uint |
260 | Altura |
| Width | uint |
480 | Largura |
O parâmetro combo especifica a criação de um gráfico que combina dois ou mais tipos de gráfico em um único gráfico. Por exemplo, crie um gráfico de linhas e colunas agrupadas com dados Planilha1!$E$1:$L$15:
package main
import (
"fmt"
"github.com/xuri/excelize/v2"
)
func main() {
f := excelize.NewFile()
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
if err := f.SetSheetName("Sheet1", "Planilha1"); err != nil {
fmt.Println(err)
return
}
for idx, row := range [][]interface{}{
{nil, "Maçã", "Laranja", "Pera"},
{"Pequeno", 2, 3, 3},
{"Normal", 5, 2, 4},
{"Grande", 6, 7, 8},
} {
cell, err := excelize.CoordinatesToCellName(1, idx+1)
if err != nil {
fmt.Println(err)
return
}
if err := f.SetSheetRow("Planilha1", cell, &row); err != nil {
fmt.Println(err)
return
}
}
enable, disable := true, false
if err := f.AddChart("Planilha1", "E1", &excelize.Chart{
Type: excelize.Col,
Series: []excelize.ChartSeries{
{
Name: "Planilha1!$A$2",
Categories: "Planilha1!$B$1:$D$1",
Values: "Planilha1!$B$2:$D$2",
},
},
Format: excelize.GraphicOptions{
ScaleX: 1,
ScaleY: 1,
OffsetX: 15,
OffsetY: 10,
PrintObject: &enable,
LockAspectRatio: false,
Locked: &disable,
},
Title: excelize.ChartTitle{
Paragraph: []excelize.RichTextRun{
{
Text: "Coluna agrupada - gráfico de linhas",
},
},
},
Legend: excelize.ChartLegend{
Position: "left",
},
PlotArea: excelize.ChartPlotArea{
ShowCatName: false,
ShowLeaderLines: false,
ShowPercent: true,
ShowSerName: true,
ShowVal: true,
},
}, &excelize.Chart{
Type: excelize.Line,
Series: []excelize.ChartSeries{
{
Name: "Planilha1!$A$4",
Categories: "Planilha1!$B$1:$D$1",
Values: "Planilha1!$B$4:$D$4",
Marker: excelize.ChartMarker{
Symbol: "none", Size: 10,
},
},
},
Format: excelize.GraphicOptions{
ScaleX: 1,
ScaleY: 1,
OffsetX: 15,
OffsetY: 10,
PrintObject: &enable,
LockAspectRatio: false,
Locked: &disable,
},
Legend: excelize.ChartLegend{
Position: "right",
},
PlotArea: excelize.ChartPlotArea{
ShowCatName: false,
ShowLeaderLines: false,
ShowPercent: true,
ShowSerName: true,
ShowVal: true,
},
}); err != nil {
fmt.Println(err)
return
}
// Salve a planilha pelo caminho indicado.
if err := f.SaveAs("Pasta1.xlsx"); err != nil {
fmt.Println(err)
}
}
Adicionar planilha de gráfico
func (f *File) AddChartSheet(sheet, opts string, combo ...string) error
AddChartSheet fornece o método para criar uma planilha de gráfico por determinado conjunto de formato de gráfico (como deslocamento, escala, configuração de proporção de aspecto e configurações de impressão) e conjunto de propriedades. No Excel, uma planilha de gráfico é uma planilha que contém apenas um gráfico.
Excluir gráfico
func (f *File) DeleteChart(sheet, cell string) error
DeleteChart fornece uma função para excluir gráficos em planilhas por determinado nome de planilha e referência de célula.