створювати діаграми в powerpoint ppt C#

Діаграми використовуються для узагальнення та візуального представлення даних у презентаціях PowerPoint. Тому PowerPoint надає широкий вибір типів діаграм для візуалізації даних. Серед усіх типів діаграм, які найчастіше використовуються, є секторні діаграми, лінійні діаграми, стовпчасті діаграми, гістограми, біржові діаграми тощо. У цій статті ви дізнаєтеся, як створювати ці діаграми в презентаціях PowerPoint за допомогою C#.

C# API для створення діаграм у PowerPoint

Aspose.Slides for .NET — це бібліотека класів C#, яка дозволяє створювати та керувати презентаціями PowerPoint із програм .NET. Крім того, API дозволяє легко створювати та додавати діаграми до презентацій. Aspose.Slides for .NET можна завантажити як DLL або встановити через NuGet.

PM> Install-Package Aspose.Slides

Створення стовпчастої діаграми в PowerPoint PPT за допомогою C#

У цьому розділі ви дізнаєтесь, як створити стовпчасту діаграму та додати категорії та ряди для заповнення цієї діаграми. Нижче наведено кроки для виконання цієї операції.

  • Спочатку створіть екземпляр класу Presentation.
  • Отримати посилання на слайд в об’єкті ISlide.
  • Додайте діаграму ClusteredColumn із даними за замовчуванням і отримайте її посилання в об’єкті IChart.
  • Встановіть назву діаграми за допомогою методу IChart.ChartTitle.AddTextFrameForOverriding(String) і встановіть її властивості.
  • Отримайте доступ до книги даних діаграми в об’єкті IChartDataWorkbook.
  • Очистіть усі стандартні серії та категорії з даних діаграми за допомогою методів IChart.ChartData.Series.Clear() і IChart.ChartData.Categories.Clear() відповідно.
  • Додайте нові серії та категорії.
  • Отримайте доступ до кожної серії діаграм в об’єкт IChartSeries і додайте до нього точки даних.
  • Додайте колір заливки для серії діаграм і встановіть мітки.
  • Нарешті, збережіть презентацію за допомогою методу Presentation.Save(String, SaveFormat).

Для демонстрації наведений нижче зразок коду показує, як створити стовпчасту діаграму в презентації PowerPoint за допомогою C#.

// Екземпляр класу презентації, який представляє файл PPTX
Presentation pres = new Presentation();

// Доступ до першого слайда
ISlide sld = pres.Slides[0];

// Додайте діаграму з даними за замовчуванням
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);

// Налаштування діаграми Назва
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Встановіть першу серію на Показати значення
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Встановлення індексу таблиці даних діаграми
int defaultWorksheetIndex = 0;

// Отримання аркуша даних діаграми
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Видалити створені за замовчуванням серії та категорії
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;

// Додавання нових серій
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type);

// Додавання нових категорій
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));

// Візьміть першу серію діаграм
IChartSeries series = chart.ChartData.Series[0];

// Зараз заповнення даних серії
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));

// Встановлення кольору заливки для серії
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = System.Drawing.Color.Blue;


// Візьміть другу серію діаграм
series = chart.ChartData.Series[1];

// Зараз заповнення даних серії
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60));

// Встановлення кольору заливки для серії
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Orange;

// Перша мітка буде показувати назву категорії
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;

lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;

// Показати значення для третьої мітки
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";

// Зберегти презентацію з діаграмою
pres.Save("column-chart.pptx", SaveFormat.Pptx);

Нижче наведено знімок екрана отриманої стовпчастої діаграми.

створити стовпчасту діаграму в powerpoint на C#

Створення точкової діаграми в PowerPoint PPT за допомогою C#

Нижче наведено кроки для створення точкової діаграми в презентації PowerPoint за допомогою C#.

  • Створіть нову презентацію за допомогою класу Presentation.
  • Отримати посилання на слайди в об’єкті ISlide.
  • Додайте тип діаграми ScatterWithSmoothLines із даними за замовчуванням і отримайте посилання на нього в об’єкті IChart.
  • Отримайте доступ до книги даних діаграми в об’єкті IChartDataWorkbook і очистіть серію за замовчуванням.
  • Додайте новий ряд до даних діаграми.
  • Отримайте доступ до кожної серії в об’єкті IChartSeries і додайте точки даних до серії.
  • Встановіть маркер для серії за допомогою властивості IChartSeries.Marker.
  • Збережіть презентацію за допомогою методу Presentation.Save(String, SaveFormat).

У наведеному нижче прикладі коду показано, як створити точкову діаграму в презентаціях PowerPoint за допомогою C#.

// Екземпляр класу презентації, який представляє файл PPTX
Presentation pres = new Presentation();

// Доступ до першого слайда
ISlide sld = pres.Slides[0];

// Додайте діаграму з даними за замовчуванням
IChart chart = sld.Shapes.AddChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);

// Отримання індексу аркуша даних діаграми за замовчуванням
int defaultWorksheetIndex = 0;

// Отримання аркуша даних діаграми
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Видалити демо-серію
chart.ChartData.Series.Clear();

// Додати нову серію
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.Type);

// Візьміть першу серію діаграм
IChartSeries series = chart.ChartData.Series[0];

// Додайте туди нову точку (1:3).
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 1), fact.GetCell(defaultWorksheetIndex, 2, 2, 3));

// Додати нову точку (2:10)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 2), fact.GetCell(defaultWorksheetIndex, 3, 2, 10));

// Відредагуйте тип серії
series.Type = ChartType.ScatterWithStraightLinesAndMarkers;

// Зміна маркера серії діаграм
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Star;

// Візьміть другу серію діаграм
series = chart.ChartData.Series[1];

// Додайте туди нову точку (5:2).
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 3, 5), fact.GetCell(defaultWorksheetIndex, 2, 4, 2));

// Додати нову точку (3:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 3, 3), fact.GetCell(defaultWorksheetIndex, 3, 4, 1));

// Додати нову точку (2:2)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 4, 3, 2), fact.GetCell(defaultWorksheetIndex, 4, 4, 2));

// Додати нову точку (5:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 5, 3, 5), fact.GetCell(defaultWorksheetIndex, 5, 4, 1));

// Зміна маркера серії діаграм
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Circle;

// Зберегти презентацію з діаграмою
pres.Save("scattered-chart.pptx", SaveFormat.Pptx);

На наступному знімку екрана показано результуючу точкову діаграму.

створити розсіяну діаграму в powerpoint на C#

Створення кругової діаграми в PowerPoint PPT за допомогою C#

Нижче наведено кроки для створення кругової діаграми в презентації PowerPoint за допомогою C#.

  • Створіть нову презентацію за допомогою класу Presentation.
  • Отримати посилання на слайди в об’єкті ISlide.
  • Додайте тип секторної діаграми з даними за замовчуванням і отримайте посилання на нього в об’єкті IChart.
  • Встановіть назву діаграми за допомогою методу IChart.ChartTitle.AddTextFrameForOverriding(String) і встановіть її властивості.
  • Встановити видимість значень.
  • Очистіть стандартні серії та категорії за допомогою методів IChart.ChartData.Series.Clear() і IChart.ChartData.Categories.Clear() відповідно.
  • Отримайте доступ до книги даних діаграми в об’єкті IChartDataWorkbook.
  • Додайте нові категорії до даних діаграми в колекцію IChart.ChartData.Categories.
  • Додати новий ряд до даних діаграми в колекцію IChart.ChartData.Series.
  • Отримайте кожну серію в об’єкт IChartSeries і додайте точки даних до серії.
  • Отримайте доступ до кожної точки даних в об’єкті IChartDataPoint і встановіть її форматування.
  • Отримайте доступ до міток даних у точках даних за допомогою об’єкта IDataLabel і встановіть їх форматування.
  • Встановіть лінії-виноски та кути повороту.
  • Збережіть презентацію за допомогою методу Presentation.Save(String, SaveFormat).

У наведеному нижче прикладі коду показано, як створити секторну діаграму в презентації PowerPoint за допомогою C#.

// Екземпляр класу презентації, який представляє файл PPTX
Presentation presentation = new Presentation();

// Доступ до першого слайда
ISlide slides = presentation.Slides[0];

// Додайте діаграму з даними за замовчуванням
IChart chart = slides.Shapes.AddChart(ChartType.Pie, 100, 100, 400, 400);

// Налаштування діаграми Назва
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Встановіть першу серію на Показати значення
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Встановлення індексу таблиці даних діаграми
int defaultWorksheetIndex = 0;

// Отримання аркуша даних діаграми
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Видалити створені за замовчуванням серії та категорії
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();

// Додавання нових категорій
chart.ChartData.Categories.Add(fact.GetCell(0, 1, 0, "First Qtr"));
chart.ChartData.Categories.Add(fact.GetCell(0, 2, 0, "2nd Qtr"));
chart.ChartData.Categories.Add(fact.GetCell(0, 3, 0, "3rd Qtr"));

// Додавання нових серій
IChartSeries series = chart.ChartData.Series.Add(fact.GetCell(0, 0, 1, "Series 1"), chart.Type);

// Зараз заповнення даних серії
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));

// Не працює в новій версії
// Додавання нових точок і встановлення кольору сектора
// series.IsColorVaried = true;
chart.ChartData.SeriesGroups[0].IsColorVaried = true;

IChartDataPoint point = series.DataPoints[0];
point.Format.Fill.FillType = FillType.Solid;
point.Format.Fill.SolidFillColor.Color = Color.Orange;
// Налаштування кордону сектора
point.Format.Line.FillFormat.FillType = FillType.Solid;
point.Format.Line.FillFormat.SolidFillColor.Color = Color.Gray;
point.Format.Line.Width = 3.0;
//point.Format.Line.Style = LineStyle.ThinThick;
//point.Format.Line.DashStyle = LineDashStyle.DashDot;

IChartDataPoint point1 = series.DataPoints[1];
point1.Format.Fill.FillType = FillType.Solid;
point1.Format.Fill.SolidFillColor.Color = Color.BlueViolet;

// Налаштування кордону сектора
point1.Format.Line.FillFormat.FillType = FillType.Solid;
point1.Format.Line.FillFormat.SolidFillColor.Color = Color.Blue;
point1.Format.Line.Width = 3.0;
//point1.Format.Line.Style = LineStyle.Single;
//point1.Format.Line.DashStyle = LineDashStyle.LargeDashDot;

IChartDataPoint point2 = series.DataPoints[2];
point2.Format.Fill.FillType = FillType.Solid;
point2.Format.Fill.SolidFillColor.Color = Color.YellowGreen;

// Налаштування кордону сектора
point2.Format.Line.FillFormat.FillType = FillType.Solid;
point2.Format.Line.FillFormat.SolidFillColor.Color = Color.Red;
point2.Format.Line.Width = 2.0;
//point2.Format.Line.Style = LineStyle.ThinThin;
//point2.Format.Line.DashStyle = LineDashStyle.LargeDashDotDot;

// Створіть власні мітки для кожної з категорій для нової серії
IDataLabel lbl1 = series.DataPoints[0].Label;

// lbl.ShowCategoryName = true;
lbl1.DataLabelFormat.ShowValue = true;

IDataLabel lbl2 = series.DataPoints[1].Label;
lbl2.DataLabelFormat.ShowValue = true;
lbl2.DataLabelFormat.ShowLegendKey = true;
lbl2.DataLabelFormat.ShowPercentage = true;

IDataLabel lbl3 = series.DataPoints[2].Label;
lbl3.DataLabelFormat.ShowSeriesName = true;
lbl3.DataLabelFormat.ShowPercentage = true;

// Відображення виносних ліній для діаграми
//series.Labels.DefaultDataLabelFormat.ShowLeaderLines = true;

// Встановлення кута повороту для секторів кругової діаграми
chart.ChartData.SeriesGroups[0].FirstSliceAngle = 180;

// Зберегти презентацію з діаграмою
presentation.Save("pie-chart.pptx", SaveFormat.Pptx);

Нижче наведено знімок екрана створеної кругової діаграми.

створити секторну діаграму в powerpoint на C#

Додайте діаграму гістограми в PowerPoint PPTX за допомогою C#

Нижче наведено кроки для створення діаграми гістограми в презентаціях PowerPoint за допомогою Aspose.Slides for .NET.

  • Створіть екземпляр класу Presentation.
  • Отримати посилання на слайд в об’єкті ISlide за його індексом.
  • Додайте діаграму гістограми з даними за замовчуванням.
  • Очистіть стандартні серії та категорії.
  • Доступ до книги даних діаграми в об’єкті IChartDataWorkbook.
  • Додайте нову серію та отримайте її посилання в об’єкті IChartSeries.
  • Додайте точки даних до ряду.
  • Встановити тип агрегації осі діаграми.
  • Збережіть презентацію за допомогою методу Presentation.Save(String, SaveFormat).

У наведеному нижче прикладі коду показано, як створити діаграму гістограми за допомогою C#.

// Завантажити або створити презентацію
using (Presentation pres = new Presentation())
{
    // Додайте діаграму гістограми
    IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Histogram, 50, 50, 500, 400);
    chart.ChartData.Categories.Clear();
    chart.ChartData.Series.Clear();

    // Доступ до книги даних діаграми
    IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;

    // Очистити робочу книгу
    wb.Clear(0);

    // Додайте ряд діаграм
    IChartSeries series = chart.ChartData.Series.Add(ChartType.Histogram);
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A1", 15));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A2", -41));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A3", 16));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A4", 10));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A5", -23));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A6", 16));

    chart.Axes.HorizontalAxis.AggregationType = AxisAggregationType.Automatic;

    // Зберегти презентацію
    pres.Save("histogram-chart.pptx", SaveFormat.Pptx);
}

Нижче наведено скріншот створеної діаграми гістограми.

створити діаграму гістограми в powerpoint на C#

Створення біржової діаграми в PowerPoint за допомогою C#

Біржова діаграма також є одним із часто використовуваних типів діаграм у презентаціях PowerPoint. Нижче наведено кроки для створення біржової діаграми.

  • Створіть нову презентацію PowerPoint за допомогою класу Presentation.
  • Отримайте посилання на слайд в об’єкті ISlide за допомогою індексу слайда.
  • Додайте діаграму OpenHighLowClose до слайда та отримайте її посилання в об’єкті IChart.
  • Очистіть стандартні серії та категорії.
  • Доступ до даних діаграми в об’єкті IChartDataWorkbook.
  • Додайте нові серії та категорії до діаграми.
  • Доступ до кожної серії діаграм і додавання точок даних.
  • Вкажіть формат HiLowLines.
  • Збережіть презентацію за допомогою методу Presentation.Save(String, SaveFormat).

У наведеному нижче прикладі коду показано, як додати біржову діаграму до презентації PowerPoint за допомогою C#.

// Завантажити або створити презентацію
using (Presentation pres = new Presentation())
{
    // Додайте діаграму
    IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);

    // Очистити категорії та серії
    chart.ChartData.Series.Clear();
    chart.ChartData.Categories.Clear();

    // Доступ до книги даних діаграми
    IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;

    // Додайте категорії
    chart.ChartData.Categories.Add(wb.GetCell(0, 1, 0, "A"));
    chart.ChartData.Categories.Add(wb.GetCell(0, 2, 0, "B"));
    chart.ChartData.Categories.Add(wb.GetCell(0, 3, 0, "C"));

    // Додати серію
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 1, "Open"), chart.Type);
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 2, "High"), chart.Type);
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 3, "Low"), chart.Type);
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 4, "Close"), chart.Type);

    // Додайте точки даних
    IChartSeries series = chart.ChartData.Series[0];

    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 1, 72));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 1, 25));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 1, 38));

    series = chart.ChartData.Series[1];
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 2, 172));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 2, 57));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 2, 57));

    series = chart.ChartData.Series[2];
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 3, 12));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 3, 12));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 3, 13));

    series = chart.ChartData.Series[3];
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 4, 25));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 4, 38));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 4, 50));

    // Встановіть, чи є на діаграмі стовпчики вгору/вниз
    chart.ChartData.SeriesGroups[0].UpDownBars.HasUpDownBars = true;

    // Укажіть формат високого/низького рядка
    chart.ChartData.SeriesGroups[0].HiLowLinesFormat.Line.FillFormat.FillType = FillType.Solid;

    foreach (IChartSeries ser in chart.ChartData.Series)
    {
        ser.Format.Line.FillFormat.FillType = FillType.NoFill;
    }

    // Зберегти презентацію
    pres.Save("stock-chart.pptx", SaveFormat.Pptx);
}

Нижче наведено скріншот створеної фондової діаграми.

створити біржову діаграму в PowerPoint на C#

Більше типів діаграм

Крім згаданих вище діаграм, існують також інші типи діаграм, які можна додавати до презентацій PowerPoint. Щоб дізнатися більше про підтримувані типи діаграм, перегляньте цю статтю документації.

Отримайте безкоштовну ліцензію API

Ви можете отримати безкоштовну тимчасову ліцензію, щоб випробувати API без оціночних обмежень.

Висновок

У цій статті ви дізналися, як створювати діаграми в презентаціях PowerPoint за допомогою C#. Крім того, у покроковому посібнику та зразках коду показано, як додавати стовпчасті діаграми, точкові діаграми, секторні діаграми, гістограми та біржові діаграми. Ви можете дізнатися більше про Aspose.Slides for .NET за допомогою документації.

Дивись також