ChartType

ChartType enumeration

Указывает тип диаграммы.

public enum ChartType

Ценности

ИмяЦенностьОписание
Area0Диаграмма площади.
AreaStacked1Диаграмма с областями с накоплением.
AreaPercentStacked2Диаграмма с 100% суммированием площадей.
Area3D3Трехмерная диаграмма области.
Area3DStacked43D-диаграмма с областями с накоплением.
Area3DPercentStacked53D-диаграмма со 100% суммированной площадью.
Bar6Гистограмма.
BarStacked7Гистограмма с накоплением.
BarPercentStacked8Столбчатая диаграмма со 100% накоплением.
Bar3D93D-линейчатая диаграмма.
Bar3DStacked103D-диаграмма с накоплением.
Bar3DPercentStacked113D гистограмма со 100% накоплением.
Bubble12Пузырьковая диаграмма.
Bubble3D13Пузырьковая 3D-диаграмма.
Column14Столбчатая диаграмма.
ColumnStacked15Столбчатая диаграмма с накоплением.
ColumnPercentStacked16Столбчатая диаграмма со 100% накоплением.
Column3D173D-столбчатая диаграмма.
Column3DStacked183D-столбчатая диаграмма с накоплением.
Column3DPercentStacked193D-столбчатая диаграмма со 100% накоплением.
Column3DClustered203D кластеризованная столбчатая диаграмма.
Doughnut21Кольцевая диаграмма.
Line22Линейный график.
LineStacked23Линейная диаграмма с накоплением.
LinePercentStacked24Линейная диаграмма со 100% накоплением.
Line3D253D-линейная диаграмма.
Pie26Круговая диаграмма.
Pie3D27Круговая 3D-диаграмма.
PieOfBar28Круговая диаграмма.
PieOfPie29Круговая диаграмма.
Radar30Радарная диаграмма.
Scatter31Точечная диаграмма.
Stock32Биржевой график.
Surface33Поверхностная диаграмма.
Surface3D34Трехмерная диаграмма поверхности.

Примеры

Показывает, как создать серию диаграмм, соответствующую типу диаграммы.

public void ChartSeriesCollection()
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    // Существует несколько способов заполнения коллекции серий диаграммы.
    // Разные схемы серий предназначены для разных типов диаграмм.
    // 1 — столбчатая диаграмма со столбцами, сгруппированными и распределенными вдоль оси X по категориям:
    Chart chart = AppendChart(builder, ChartType.Column, 500, 300);

    string[] categories = { "Category 1", "Category 2", "Category 3" };

    // Вставляем две серии десятичных значений, содержащих значение для каждой соответствующей категории.
    // Эта столбчатая диаграмма будет состоять из трех групп, каждая из которых состоит из двух столбцов.
    chart.Series.Add("Series 1", categories, new [] { 76.6, 82.1, 91.6 });
    chart.Series.Add("Series 2", categories, new [] { 64.2, 79.5, 94.0 });

    // Категории распределяются по оси X, а значения — по оси Y.
    Assert.AreEqual(ChartAxisType.Category, chart.AxisX.Type);
    Assert.AreEqual(ChartAxisType.Value, chart.AxisY.Type);

    // 2 - Диаграмма с областями с датами, распределенными по оси X:
    chart = AppendChart(builder, ChartType.Area, 500, 300);

    DateTime[] dates = { new DateTime(2014, 3, 31),
        new DateTime(2017, 1, 23),
        new DateTime(2017, 6, 18),
        new DateTime(2019, 11, 22),
        new DateTime(2020, 9, 7)
    };

    // Вставляем серию с десятичным значением для каждой соответствующей даты.
    // Даты будут распределены по линейной оси X,
    // и значения, добавленные в эту серию, создадут точки данных.
    chart.Series.Add("Series 1", dates, new [] { 15.8, 21.5, 22.9, 28.7, 33.1 });

    Assert.AreEqual(ChartAxisType.Category, chart.AxisX.Type);
    Assert.AreEqual(ChartAxisType.Value, chart.AxisY.Type);

    // 3 - 2D-диаграмма рассеяния:
    chart = AppendChart(builder, ChartType.Scatter, 500, 300);

    // Для каждой серии потребуется два десятичных массива одинаковой длины.
    // Первый массив содержит значения X, а второй — соответствующие значения Y
    // точек данных на графике диаграммы.
    chart.Series.Add("Series 1", 
        new[] { 3.1, 3.5, 6.3, 4.1, 2.2, 8.3, 1.2, 3.6 }, 
        new[] { 3.1, 6.3, 4.6, 0.9, 8.5, 4.2, 2.3, 9.9 });
    chart.Series.Add("Series 2", 
        new[] { 2.6, 7.3, 4.5, 6.6, 2.1, 9.3, 0.7, 3.3 }, 
        new[] { 7.1, 6.6, 3.5, 7.8, 7.7, 9.5, 1.3, 4.6 });

    Assert.AreEqual(ChartAxisType.Value, chart.AxisX.Type);
    Assert.AreEqual(ChartAxisType.Value, chart.AxisY.Type);

    // 4 - Пузырьковая диаграмма:
    chart = AppendChart(builder, ChartType.Bubble, 500, 300);

    // Для каждой серии потребуется три десятичных массива одинаковой длины.
    // Первый массив содержит значения X, второй содержит соответствующие значения Y,
    // а третий содержит диаметры для каждой точки данных графика.
    chart.Series.Add("Series 1", 
        new [] { 1.1, 5.0, 9.8 }, 
        new [] { 1.2, 4.9, 9.9 }, 
        new [] { 2.0, 4.0, 8.0 });

    doc.Save(ArtifactsDir + "Charts.ChartSeriesCollection.docx");
}

/// <summary>
/// Вставьте диаграмму с помощью построителя документов указанного типа диаграммы, ширины и высоты и удалите ее демонстрационные данные.
/// </summary>
private static Chart AppendChart(DocumentBuilder builder, ChartType chartType, double width, double height)
{
    Shape chartShape = builder.InsertChart(chartType, width, height);
    Chart chart = chartShape.Chart;
    chart.Series.Clear();
    return chart;
}

Смотрите также