Диаграмма

Добавить диаграмму

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 является авто. Минимальное свойство необязательно. Значение по умолчанию автоматически.
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 является авто. Минимальное свойство необязательно. Значение по умолчанию автоматически.
Font Font Н/Д Указывает, что шрифт вертикальной оси.
LogBase float64 Н/Д Задает базовый номер логарифмической шкалы вертикальной оси.
NumFmt ChartNumFmt Н/Д Указывает, что если он связан с источником и устанавливает код пользовательского числового формата для оси.
Title []RichTextRun Н/Д Указывает, что основной заголовок вертикальной оси и размер диаграммы.

Установите размер диаграммы по свойству 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 по заданному рабочему листу и имени ячейки.

results matching ""

    No results matching ""