Gráfico
Añadir gráfico
func (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error
AddChart proporciona el método para agregar un gráfico en una hoja de trabajo por un conjunto de formato de gráfico dado (como desplazamiento, escala, configuración de relación de aspecto y configuración de impresión) y conjunto de propiedades.
A continuación se muestra el Type
de gráfico compatible con excelize:
ID | Enumeración | Gráfico |
---|---|---|
0 | Area | Gráfico de área 2D |
1 | AreaStacked | Gráfico de áreas apiladas 2D |
2 | AreaPercentStacked | Gráfico de área 2D 100% apilada |
3 | Area3D | Gráfico de área 3D |
4 | Area3DStacked | Gráfico de áreas apiladas 3D |
5 | Area3DPercentStacked | Gráfico de área 3D 100% apilada |
6 | Bar | Gráfico de barras agrupadas 2D |
7 | BarStacked | Gráfico de barras apiladas 2D |
8 | BarPercentStacked | Gráfico de barras 2D 100% apilado |
9 | Bar3DClustered | Gráfico de barras agrupadas 3D |
10 | Bar3DStacked | Gráfico de barras apiladas 3D |
11 | Bar3DPercentStacked | Gráfico de barras 3D 100% apilado |
12 | Bar3DConeClustered | Gráfico de barras agrupadas con cono 3D |
13 | Bar3DConeStacked | Gráfico de barras apiladas con con cono 3D |
14 | Bar3DConePercentStacked | Gráfico de barras de cono 3D 100% |
15 | Bar3DPyramidClustered | Gráfico de barras agrupadas pirámide 3D |
16 | Bar3DPyramidStacked | Gráfico de barras apiladas pirámide 3D |
17 | Bar3DPyramidPercentStacked | Gráfico de barras apiladas 3D 100% pirámide |
18 | Bar3DCylinderClustered | Gráfico de barras agrupados de cilindros 3D |
19 | Bar3DCylinderStacked | Gráfico de barras apilados de cilindros 3D |
20 | Bar3DCylinderPercentStacked | Gráfico de barras apilados 3D 100% cilindro |
21 | Col | Gráfico de columnas agrupadas 2D |
22 | ColStacked | Gráfico de columnas apiladas 2D |
23 | ColPercentStacked | Gráfico de columnas apiladas 2D 100% |
24 | Col3DClustered | Gráfico de columnas agrupadas 3D |
25 | Col3D | Gráfico de columnas 3D |
26 | Col3DStacked | Gráfico de columnas apiladas 3D |
27 | Col3DPercentStacked | Gráfico de columnas apiladas 3D 100% |
28 | Col3DCone | Gráfico de columnas de cono 3D |
29 | Col3DConeClustered | Gráfico de columnas agrupadas con cono 3D |
30 | Col3DConeStacked | Gráfico de columnas apiladas con cono 3D |
31 | Col3DConePercentStacked | Gráfico de columnas apiladas 3D 100% cono |
32 | Col3DPyramid | Gráfico de columnas piramidales 3D |
33 | Col3DPyramidClustered | Gráfico de columnas agrupadas piramidal 3D |
34 | Col3DPyramidStacked | Gráfico de columnas apiladas pirámide 3D |
35 | Col3DPyramidPercentStacked | Gráfico de columnas apiladas 3D 100% pirámide |
36 | Col3DCylinder | Gráfico de columnas de cilindros 3D |
37 | Col3DCylinderClustered | Gráfico de columnas agrupadas de cilindros 3D |
38 | Col3DCylinderStacked | Gráfico de columnas apiladas de cilindro 3D |
39 | Col3DCylinderPercentStacked | Gráfico de columnas apiladas 3D 100% cilindro |
40 | Doughnut | Gráfico de rosquillas |
41 | Line | Gráfico de líneas |
42 | Line3D | Gráfico de líneas 3D |
43 | Pie | Gráfico circular |
44 | Pie3D | Gráfico circular 3D |
45 | PieOfPie | Doble de gráfico circular |
46 | BarOfPie | Pastel de gráfico circular |
47 | Radar | Gráfico de radar |
48 | Scatter | Gráfico de dispersión |
49 | Surface3D | Gráfico de superficie 3D |
50 | WireframeSurface3D | Gráfico de superficie de estructura alámbrica 3D |
51 | Contour | Gráfico de contornos |
52 | WireframeContour | Gráfico de contorno de estructura alámbrica |
53 | Bubble | Gráfico de burbujas |
54 | Bubble3D | Gráfico de burbujas 3D |
En el rango de datos del gráfico de Office Excel, Series
especifica el conjunto de información para qué datos dibujar, el elemento de leyenda (serie) y la etiqueta del eje horizontal (categoría).
Las opciones de Series
que se pueden configurar son:
Parámetro | Explicación |
---|---|
Name | Elemento de leyenda (serie), que se muestra en la barra de fórmulas y la leyenda del gráfico. El parámetro Name es opcional. Si no especifica este valor, el valor predeterminado será Serie 1 .. n . Soporte de Name para la representación de fórmulas, por ejemplo: Sheet1!$A$1 . |
Categories | Etiqueta de eje horizontal (categoría). El parámetro Categories es opcional en la mayoría de los tipos de gráficos, el valor predeterminado es una secuencia contigua de la forma 1..n . |
Values | El área de datos del gráfico, que es el parámetro más importante de la Series , también es el único parámetro obligatorio al crear un gráfico. Esta opción vincula el gráfico a los datos de la hoja de trabajo que muestra. |
Fill | Esto establece el formato para el relleno de la serie de datos. |
Line | Esto establece el formato de línea del gráfico de líneas. La propiedad Line es opcional y, si no se proporciona, tendrá el estilo predeterminado. Las opciones que se pueden configurar son Width . El rango de Width es 0.25pt - 999pt. Si el valor del ancho está fuera del rango, el ancho predeterminado de la línea es 2 puntos. |
Marker | Esto establece el marcador del gráfico de líneas y el gráfico de dispersión. El rango del campo opcional Size es 2-72 (el valor predeterminado es 5 ). El valor de enumeración del campo opcional Symbol es (el valor predeterminado es auto ): circle , dash , diamond , dot , none , picture , plus , square , star , triangle , x , auto . |
DataLabelPosition | Esto establece la posición de la etiqueta de datos de la serie del gráfico. |
Establezca las propiedades de la leyenda del gráfico. Las opciones que se pueden configurar son:
Parámetro | Tipo | Explicación |
---|---|---|
Position | string |
La posición de la leyenda del gráfico |
ShowLegendKey | bool |
Establecer las claves de leyenda se mostrarán en las etiquetas de datos |
Establece la Position
de la leyenda del gráfico. La posición predeterminada de la leyenda es right
. Las posiciones disponibles son:
Parámetro | Explicación |
---|---|
none | Deshabilitar leyenda |
top | En la parte superior |
bottom | En la parte inferior |
left | A la izquierda |
right | A la derecha |
top_right | Arriba a la derecha |
El parámetro ShowLegendKey
establece las claves de la leyenda se mostrarán en las etiquetas de datos. El valor predeterminado es false
.
El título del gráfico se establece seleccionando el parámetro Name
del objeto Title
, y el título se mostrará encima del gráfico. El parámetro Name
admite el uso de representaciones de fórmulas, como Sheet1!$A$1
, si no especifica un título de icono, el valor predeterminado es nulo.
El parámetro ShowBlanksAs
proporciona la configuración "Ocultar y vaciar celdas". El valor predeterminado es: gap
. En la aplicación Excel, la "celda vacía se muestra como": "espacio". Los siguientes son valores opcionales para este parámetro:
Parámetro | Explicación |
---|---|
gap | espacio |
span | Conecte puntos de datos con líneas rectas |
zero | valor cero |
Establezca el tamaño de la burbuja en todas las series de datos para el gráfico de burbujas o el gráfico de burbujas 3D mediante la propiedad BubbleSizes
. La propiedad BubbleSizes
es opcional. El ancho predeterminado es 100
y el valor debe ser mayor que 0 y menor o igual que 300.
Establezca el tamaño del agujero de anillo en todas las series de datos para el gráfico de anillos mediante la propiedad HoleSize
. La propiedad HoleSize
es opcional. El ancho predeterminado es 75
y el valor debe ser mayor que 0 y menor o igual que 90.
Especifica que cada marcador de datos de la serie tiene un color diferente por VaryColors
. El valor predeterminado es true
.
El parámetro Format
proporciona ajustes para parámetros como el desplazamiento del gráfico, la escala, la configuración de la relación de aspecto y las propiedades de impresión, así como los que se utilizan en la función AddPicture
.
Establezca la posición del área de trazado del gráfico por área de trazado. Las propiedades que se pueden configurar son:
Parámetro | Tipo | Defecto | Explicación |
---|---|---|---|
SecondPlotValues | int |
0 |
Especifica los valores en el segundo gráfico para los gráficos pieOfPie y barOfPie . |
ShowBubbleSize | bool |
false |
Especifica que el tamaño de la burbuja se mostrará en una etiqueta de datos. |
ShowCatName | bool |
false |
Nombre de la categoría. |
ShowLeaderLines | bool |
false |
Especifica que el nombre de la categoría se mostrará en la etiqueta de datos. |
ShowPercent | bool |
false |
Especifica que el porcentaje se mostrará en una etiqueta de datos. |
ShowSerName | bool |
false |
Especifica que el nombre de la serie se mostrará en una etiqueta de datos. |
ShowVal | bool |
false |
Especifica que el valor se mostrará en una etiqueta de datos. |
NumFmt | ChartNumFmt |
N/A | Especifica que si está vinculado a la fuente y establece un código de formato de número personalizado para las etiquetas de datos. La propiedad NumFmt es opcional. El código de formato predeterminado es General . |
Establezca las opciones principales de eje horizontal y vertical por XAxis
y YAxis
.
Las propiedades de XAxis
que se pueden configurar son:
Parámetro | Tipo | Defecto | Explicación |
---|---|---|---|
None | bool |
false |
Deshabilitar ejes. |
MajorGridLines | bool |
false |
Especifica las principales líneas de cuadrícula. |
MinorGridLines | bool |
false |
Especifica líneas de cuadrícula menores. |
TickLabelSkip | int |
1 |
Especifica cuántas etiquetas de marca se deben omitir entre una etiqueta dibujada. La propiedad TickLabelSkip es opcional. El valor predeterminado es automático. |
ReverseOrder | bool |
false |
Especifica que las categorías o valores en orden inverso (orientación del gráfico). La propiedad ReverseOrder es opcional. |
Maximum | *float64 |
0 |
Especifica que el máximo fijo, 0 es automático. La propiedad máxima es opcional. |
Minimum | *float64 |
0 |
Especifica que el mínimo fijo, 0 es automático. La propiedad mínima es opcional. El valor predeterminado es automático. |
Font | Font |
N/A | Especifica que la fuente del eje horizontal. |
NumFmt | ChartNumFmt |
N/A | Especifica que si está vinculado a la fuente y establece un código de formato de número personalizado para el eje. |
Title | []RichTextRun |
N/A | Especifica que el título del eje horizontal principal y el gráfico de cambio de tamaño. |
Las propiedades de YAxis
que se pueden configurar son:
Parámetro | Tipo | Defecto | Explicación |
---|---|---|---|
None | bool |
false |
Deshabilitar ejes. |
MajorGridLines | bool |
false |
Especifica las principales líneas de cuadrícula. |
MinorGridLines | bool |
false |
Especifica líneas de cuadrícula menores. |
MajorUnit | float64 |
0 |
Especifica la distancia entre las marcas principales. Debe contener un número de coma flotante positivo. La propiedad MajorUnit es opcional. El valor predeterminado es automático. |
ReverseOrder | bool |
false |
Especifica que las categorías o valores en orden inverso (orientación del gráfico). La propiedad ReverseOrder es opcional. |
Maximum | *float64 |
0 |
Especifica que el máximo fijo, 0 es automático. La propiedad máxima es opcional. |
Minimum | *float64 |
0 |
Especifica que el mínimo fijo, 0 es automático. La propiedad mínima es opcional. El valor predeterminado es automático. |
Font | Font |
N/A | Especifica que la fuente del eje vertical. |
LogBase | float64 |
N/A | Especifica el número base de la escala logarítmica del eje vertical. |
NumFmt | ChartNumFmt |
N/A | Especifica que si está vinculado a la fuente y establece un código de formato de número personalizado para el eje. |
Title | []RichTextRun |
N/A | Especifica que el título del eje vertical principal y el gráfico de cambio de tamaño. |
Establezca el tamaño del gráfico por la propiedad Dimension
. La propiedad de dimensión es opcional. Las propiedades que se pueden configurar son:
Parámetro | Tipo | Defecto | Explicación |
---|---|---|---|
Height | uint |
260 | Altura |
Width | uint |
480 | Anchura |
El parámetro combo
especifica la creación de un gráfico que combine dos o más tipos de gráficos en un solo gráfico. Por ejemplo, cree un gráfico de líneas y columnas agrupadas con los datos Sheet1!$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", "Hoja1"); err != nil {
fmt.Println(err)
return
}
for idx, row := range [][]interface{}{
{nil, "Manzana", "Naranja", "Pera"},
{"Pequeño", 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("Hoja1", cell, &row); err != nil {
fmt.Println(err)
return
}
}
enable, disable := true, false
if err := f.AddChart("Hoja1", "E1", &excelize.Chart{
Type: excelize.Col,
Series: []excelize.ChartSeries{
{
Name: "Hoja1!$A$2",
Categories: "Hoja1!$B$1:$D$1",
Values: "Hoja1!$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: "Columna agrupada - gráfico de líneas",
},
},
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: "Hoja1!$A$4",
Categories: "Hoja1!$B$1:$D$1",
Values: "Hoja1!$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
}
// Guarde la hoja de cálculo por la ruta dada.
if err := f.SaveAs("Libro1.xlsx"); err != nil {
fmt.Println(err)
}
}
Añadir hoja de gráficos
func (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error
AddChartSheet proporciona el método para crear una hoja de gráfico por un conjunto de formato de gráfico dado (como desplazamiento, escala, configuración de relación de aspecto y configuración de impresión) y el conjunto de propiedades. En Excel, una hoja de gráfico es una hoja de trabajo que solo contiene un gráfico.
Eliminar gráfico
func (f *File) DeleteChart(sheet, cell string) error
DeleteChart proporciona una función para eliminar gráficos en una hoja de cálculo por la hoja de trabajo y el nombre de celda dados.