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 |
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. |
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. |
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 |
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
.
O título do gráfico é definido selecionando o parâmetro Name
do objeto Title
, e o título será exibido acima do gráfico. O parâmetro Name
suporta o uso de representações de fórmulas, como Planilha1!$A$1
, se você não especificar um título de ícone, o valor padrão é nulo.
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 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 Formato
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 X AddPicture
.
Defina a posição da área de plotagem do gráfico por área de plotagem. 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 |
Nome da Categoria. |
ShowLeaderLines | bool |
false |
Especifica que o nome da categoria deve ser mostrado no rótulo de dados. |
ShowPercent | bool |
false |
Especifica 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. |
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. |
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.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.