Диаграмма
Добавить диаграмму
func (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error
AddChart предоставляет метод добавления диаграммы на листе с помощью заданного набора формата диаграммы (например, смещение, масштаб, настройка соотношения сторон и параметры печати) и набор свойств.
Ниже показано Type
диаграммы, поддерживаемый excelize:
ID | перечисление | Диаграмма |
---|---|---|
0 | Area | 2D диаграмма области |
1 | AreaStacked | 2D диаграмма области с накоплением |
2 | AreaPercentStacked | 2D 100% диаграмма области с накоплением |
3 | Area3D | 3D диаграмма области |
4 | Area3DStacked | 3D диаграмма области с накоплением |
5 | Area3DPercentStacked | 3D 100% диаграмма области с накоплением |
6 | Bar | 2D кластерная гистограмма |
7 | BarStacked | 2D Двухстрочная гистограмма |
8 | BarPercentStacked | 2D 100% сложная гистограмма |
9 | Bar3DClustered | 3D кластерная гистограмма |
10 | Bar3DStacked | 3D гистограмма |
11 | Bar3DPercentStacked | 3D 100% сложная гистограмма |
12 | Bar3DConeClustered | 3D конус кластерных диаграммы бар |
13 | Bar3DConeStacked | 3D конус штабелироваться диаграммы бар |
14 | Bar3DConePercentStacked | 3D 100% диаграмма конусной панели |
15 | Bar3DPyramidClustered | 3D пирамида кластерных диаграмма бара |
16 | Bar3DPyramidStacked | 3D пирамиды сложены диаграммы бар |
17 | Bar3DPyramidPercentStacked | 3D 100% пирамиды сложены диаграммы бар |
18 | Bar3DCylinderClustered | 3D цилиндровый кластерный бар диаграммы |
19 | Bar3DCylinderStacked | 3D цилиндр штабелироваться бар диаграммы |
20 | Bar3DCylinderPercentStacked | 3D 100% цилиндр штабелироваться бар диаграммы |
21 | Col | 2D группированная диаграмма столбцов |
22 | ColStacked | 2D сложены диаграммы колонки |
23 | ColPercentStacked | 2D 100% сложены диаграммы колонки |
24 | Col3D | 3D диаграмма столбца |
25 | Col3DClustered | 3D группированная диаграмма столбцов |
26 | Col3DStacked | 3D сложены диаграммы колонки |
27 | Col3DPercentStacked | 3D 100% сложены диаграммы колонки |
28 | Col3DCone | 3D Диаграмма столбца конуса |
29 | Col3DConeClustered | 3D конус кластерных диаграмма столбца |
30 | Col3DConeStacked | 3D конус штабелироваться диаграммы колонки |
31 | Col3DConePercentStacked | 3D 100% конус штабелироваться диаграммы колонки |
32 | Col3DPyramid | 3D диаграмма столбца пирамиды |
33 | Col3DPyramidClustered | 3D пирамида кластерных диаграмма столбца |
34 | Col3DPyramidStacked | 3D пирамида сложены диаграммы колонки |
35 | Col3DPyramidPercentStacked | 3D 100% пирамиды сложены диаграммы столбца |
36 | Col3DCylinder | 3D диаграмма цилиндрической колонки |
37 | Col3DCylinderClustered | 3D цилиндр кластерных столбцов диаграммы |
38 | Col3DCylinderStacked | 3D цилиндр штабелироваться диаграммы колонки |
39 | Col3DCylinderPercentStacked | 3D 100% цилиндр штабелироваться диаграммы колонки |
40 | Doughnut | диаграмма пончика |
41 | Line | линейный график |
42 | Line3D | 3D линейный график |
43 | Pie | круговая диаграмма |
44 | Pie3D | 3D круговая диаграмма |
45 | PieOfPie | Двойная круговая диаграмма |
46 | BarOfPie | Гистограмма круговой диаграммы |
47 | Radar | радиолокационная карта |
48 | Scatter | диаграмма рассеяния |
49 | Surface3D | 3D поверхностная диаграмма |
50 | WireframeSurface3D | 3D диаграмма поверхности проволоки |
51 | Contour | контурная диаграмма |
52 | WireframeContour | диаграмма контура каркасной проволоки |
53 | Bubble | пузырь диаграммы |
54 | Bubble3D | 3D пузырь диаграммы |
В области данных диаграммы Office Excel Series
определяет набор информации, для которой данные рисовать, легенда пункт (серии), и горизонтальной (категория) метки оси.
Параметры Series
, которые могут быть установлены:
Параметр | Объяснение |
---|---|
Name | Элемент легенды (серия), отображаемый в легенде диаграммы и в строке формул. Параметр Name является необязательным. Если вы не укажете это значение, по умолчанию будет Series 1 .. n . Name для представления формул, например: Sheet1!$A$1 . |
Categories | Горизонтальная (категория) метка оси. Параметр Categories является необязательным в большинстве типов диаграмм, по умолчанию это непрерывная последовательность формы 1..n . |
Values | Область данных диаграммы, которая является наиболее важным параметром в Series , является единственным обязательным параметром при создании диаграммы. Этот параметр связывает диаграмму с отображаемыми данными листа. |
Fill | Устанавливает формат заполнения ряда данных. |
Line | Устанавливает формат линии графика. Свойство Line является необязательным, и если оно не указано, оно будет использовать стиль по умолчанию. Параметры, которые можно установить, это ширина. Диапазон Width составляет 0.25pt - 999pt. Если значение ширины находится за пределами диапазона, ширина линии по умолчанию составляет 2pt. |
Marker | Это устанавливает маркер линейной диаграммы и точечной диаграммы. Диапазон необязательного поля Size составляет от 2 до 72 (значение по умолчанию 5 ). Значением перечисления необязательного поля Symbol являются (значение по умолчанию - auto ): circle , dash , diamond , dot , none , picture , plus , square , star , triangle , x , auto . |
DataLabelPosition | Это задает положение метки данных серии диаграммы. |
Задайте свойства легенды диаграммы. Возможные параметры:
Параметр | Тип | Объяснение |
---|---|---|
Position | string |
Позиция легенды диаграммы |
ShowLegendKey | bool |
Задайте ключи легенды, которые будут отображаться в метках данных |
Установите Position
легенды диаграммы. Положение легенды по умолчанию - right
. Доступные позиции:
Параметр | Объяснение |
---|---|
none | Выключить легенду |
top | верх |
bottom | дно |
left | оставил |
right | правильно |
top_right | в правом верхнем углу |
Параметр ShowLegendKey
, задающий ключи легенды, должен отображаться в метках данных. Значение по умолчанию равно false
.
Название диаграммы задается путем выбора параметра Name
объекта Title
, и заголовок будет отображаться над диаграммой. Параметр Name
поддерживает использование представлений формул, таких как Sheet1!$A$1
, если вы не укажете заголовок значка, значение по умолчанию равно null.
Параметр ShowBlanksAs
предоставляет настройку «Скрыть и пустые ячейки». Значение по умолчанию: gap
т.е. «пустая ячейка отображается как»: «пространство». Ниже приведены необязательные значения для этого параметра:
Параметр | Объяснение |
---|---|
gap | пространство |
span | Соединить точки данных с прямыми линиями |
zero | нулевое значение |
Установите размер пузырька во всех рядах данных для пузырьковой диаграммы или трехмерной пузырьковой диаграммы с помощью свойства BubbleSizes
. Свойство BubbleSizes
является необязательным. Ширина по умолчанию — 100
. Это значение должно быть больше 0 и меньше или равно 300.
Установите размер кольцевого отверстия во всех рядах данных кольцевой диаграммы с помощью свойства HoleSize
. Свойство HoleSize
является необязательным. Ширина по умолчанию — 75
, значение должно быть больше 0 и меньше или равно 90.
Указывает, что каждый маркер данных в серии имеет различный цвет на VaryColors
. Значение по умолчанию является true
.
Параметр Format
предоставляет параметры для таких параметров, как смещение графика, масштаб, параметры соотношения сторон и свойства печати, а также те, которые используются в функции AddPicture
.
Задайте положение области графика по площади участка. Свойства, которые могут быть установлены:
Параметр | Тип | По умолчанию | Объяснение |
---|---|---|---|
SecondPlotValues | int |
0 |
Указывает значения на втором графике для диаграмм pieOfPie и barOfPie . |
ShowBubbleSize | bool |
false |
Указывает, что размер пузырька должен быть указан на метке данных. |
ShowCatName | bool |
false |
Название категории |
ShowLeaderLines | bool |
false |
Указывает, что имя категории должно отображаться на метке данных. |
ShowPercent | bool |
false |
Указывает, что процент отображается в метке данных. |
ShowSerName | bool |
false |
Указывает, что имя серии должно отображаться в метке данных. |
ShowVal | bool |
false |
Указывает, что значение должно отображаться на метке данных. |
NumFmt | ChartNumFmt |
N/A | Указывает, что если он связан с источником и устанавливает код пользовательского числового формата для меток данных. Свойство NumFmt является необязательным. Код формата по умолчанию — General . |
Задайте основные параметры горизонтальной и вертикальной оси с помощью XAxis
и YAxis
.
Свойства XAxis
, которые можно установить:
Параметр | Тип | По умолчанию | Объяснение |
---|---|---|---|
None | bool |
false |
Отключить оси. |
MajorGridLines | bool |
false |
Определяет основные линии сетки. |
MinorGridLines | bool |
false |
Определяет второстепенные линии сетки. |
TickLabelSkip | int |
1 |
Определяет, сколько тиковых меток пропустить между нарисованными метками. Свойство TickLabelSkip является необязательным. Значением по умолчанию является авто. |
ReverseOrder | bool |
false |
Указывает, что категории или значения в обратном порядке (ориентация диаграммы). Свойство ReverseOrder является необязательным. |
Maximum | *float64 |
0 |
Указывает, что фиксированный максимум 0 автоматически. Максимальное свойство необязательно. |
Minimum | *float64 |
0 |
Указывает, что фиксированный минимум 0 является авто. Минимальное свойство необязательно. Значение по умолчанию автоматически. |
Alignment | Alignment |
N/A | Указывает, что выравнивание горизонтальной и вертикальной оси. Свойства шрифта, которые можно задать: TextRotation и Vertical |
Font | Font |
Н/Д | Указывает, что шрифт горизонтальной оси. |
NumFmt | ChartNumFmt |
Н/Д | Указывает, что если он связан с источником и устанавливает код пользовательского числового формата для оси. |
Title | []RichTextRun |
Н/Д | Указывает, что основной заголовок горизонтальной оси и размер диаграммы. |
Свойства YAxis
, которые можно установить:
Параметр | Тип | По умолчанию | Объяснение |
---|---|---|---|
None | bool |
false |
Отключить оси. |
MajorGridLines | bool |
false |
Определяет основные линии сетки. |
MinorGridLines | bool |
false |
Определяет второстепенные линии сетки. |
MajorUnit | float64 |
0 |
Определяет расстояние между основными тиками. Должен содержать положительное число с плавающей точкой. Свойство MajorUnit является необязательным. Значением по умолчанию является авто. |
ReverseOrder | bool |
false |
Указывает, что категории или значения в обратном порядке (ориентация диаграммы). Свойство ReverseOrder является необязательным. |
Maximum | *float64 |
0 |
Указывает, что фиксированный максимум 0 автоматически. Максимальное свойство необязательно. |
Minimum | *float64 |
0 |
Указывает, что фиксированный минимум 0 является авто. Минимальное свойство необязательно. Значение по умолчанию автоматически. |
Alignment | Alignment |
N/A | Указывает, что выравнивание горизонтальной и вертикальной оси. Свойства шрифта, которые можно задать: TextRotation и Vertical |
Font | Font |
Н/Д | Указывает, что шрифт вертикальной оси. |
LogBase | float64 |
Н/Д | Задает базовый номер логарифмической шкалы вертикальной оси. |
NumFmt | ChartNumFmt |
Н/Д | Указывает, что если он связан с источником и устанавливает код пользовательского числового формата для оси. |
Title | []RichTextRun |
Н/Д | Указывает, что основной заголовок вертикальной оси и размер диаграммы. |
Значение TextRotation
может быть установлено в диапазоне от -90 до 90.
Можно задать следующие значения Vertical
: horz
, vert
, vert270
, wordArtVert
, eaVert
, mongolianVert
и wordArtVertRtl
.
Установите размер диаграммы по свойству Dimension
. Свойство измерения необязательно. Свойства, которые могут быть установлены:
Параметр | Тип | По умолчанию | Объяснение |
---|---|---|---|
Height | uint |
260 | Высота |
Width | uint |
480 | Ширина |
Параметр combo
определяет создание диаграммы, которая объединяет два или более типов диаграммы в одну диаграмму. Например, создайте кластеризованную столбчатую диаграмму с данными 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", "Лист1"); err != nil {
fmt.Println(err)
return
}
for idx, row := range [][]interface{}{
{nil, "Яблоко", "Апельсин", "Груша"},
{"Маленький", 2, 3, 3},
{"Нормальный", 5, 2, 4},
{"Большой", 6, 7, 8},
} {
cell, err := excelize.CoordinatesToCellName(1, idx+1)
if err != nil {
fmt.Println(err)
return
}
if err := f.SetSheetRow("Лист1", cell, &row); err != nil {
fmt.Println(err)
return
}
}
enable, disable := true, false
if err := f.AddChart("Лист1", "E1", &excelize.Chart{
Type: excelize.Col,
Series: []excelize.ChartSeries{
{
Name: "Лист1!$A$2",
Categories: "Лист1!$B$1:$D$1",
Values: "Лист1!$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: "2D группированная диаграмма столбцов - линейный график",
},
},
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: "Лист1!$A$4",
Categories: "Лист1!$B$1:$D$1",
Values: "Лист1!$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
}
// Сохранить workbook
if err := f.SaveAs("Книга1.xlsx"); err != nil {
fmt.Println(err)
}
}
Добавить лист диаграммы
func (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error
AddChartSheet предоставляет метод для создания листа диаграммы по заданному набору формата диаграммы (например, смещение, масштаб, настройка соотношения сторон и настройки печати) и набору свойств. В Excel лист диаграммы - это рабочий лист, который содержит только диаграмму.
Удалить диаграмму
func (f *File) DeleteChart(sheet, cell string) error
DeleteChart предоставляет функцию для удаления диаграммы в XLSX по заданному рабочему листу и имени ячейки.