twórz wykresy w powerpoint ppt C#

Wykresy służą do podsumowywania i wizualnego przedstawiania danych w prezentacjach programu PowerPoint. Dlatego PowerPoint udostępnia szeroką gamę typów wykresów do wizualizacji danych. Do najczęściej używanych typów wykresów należą między innymi wykresy kołowe, wykresy liniowe, wykresy słupkowe, histogramy, wykresy giełdowe itp. Z tego artykułu dowiesz się, jak tworzyć te wykresy w prezentacjach programu PowerPoint przy użyciu języka C#.

C# API do tworzenia wykresów w programie PowerPoint

Aspose.Slides for .NET to biblioteka klas C#, która umożliwia tworzenie i manipulowanie prezentacjami programu PowerPoint z poziomu aplikacji .NET. Ponadto interfejs API umożliwia bezproblemowe tworzenie i dodawanie wykresów do prezentacji. Aspose.Slides for .NET można pobrać jako DLL lub zainstalować przez NuGet.

PM> Install-Package Aspose.Slides

Utwórz wykres kolumnowy w programie PowerPoint PPT przy użyciu języka C#

W tej sekcji dowiesz się, jak utworzyć wykres kolumnowy oraz dodać kategorie i serie, aby wypełnić ten wykres. Poniżej przedstawiono kroki, aby wykonać tę operację.

W celu zademonstrowania poniższy przykładowy kod pokazuje, jak utworzyć wykres kolumnowy w prezentacji programu PowerPoint przy użyciu języka C#.

// Utwórz instancję Klasa prezentacji, która reprezentuje plik PPTX
Presentation pres = new Presentation();

// Uzyskaj dostęp do pierwszego slajdu
ISlide sld = pres.Slides[0];

// Dodaj wykres z domyślnymi danymi
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);

// Tabela ustawień Tytuł
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Ustaw pierwszą serię na Pokaż wartości
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Ustawianie indeksu arkusza danych wykresu
int defaultWorksheetIndex = 0;

// Pobieranie arkusza danych wykresu
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Usuń domyślnie wygenerowane serie i kategorie
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;

// Dodanie nowej serii
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);

// Dodawanie nowych kategorii
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"));

// Weź pierwszą serię wykresów
IChartSeries series = chart.ChartData.Series[0];

// Teraz wypełnianie danych serii
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));

// Ustawianie koloru wypełnienia dla serii
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = System.Drawing.Color.Blue;


// Weź drugą serię wykresów
series = chart.ChartData.Series[1];

// Teraz wypełnianie danych serii
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));

// Ustawianie koloru wypełnienia dla serii
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Orange;

// Pierwsza etykieta pokaże nazwę kategorii
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;

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

// Pokaż wartość dla trzeciej etykiety
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";

// Zapisz prezentację z wykresem
pres.Save("column-chart.pptx", SaveFormat.Pptx);

Poniżej znajduje się zrzut ekranu wynikowego wykresu kolumnowego.

utwórz wykres kolumnowy w powerpoint w C#

Utwórz wykres punktowy w programie PowerPoint PPT przy użyciu języka C#

Poniżej przedstawiono kroki tworzenia wykresu punktowego w prezentacji programu PowerPoint przy użyciu języka C#.

  • Utwórz nową prezentację, korzystając z klasy Presentation.
  • Pobierz odniesienia do slajdów w obiekcie ISlide.
  • Dodaj typ wykresu ScatterWithSmoothLines z domyślnymi danymi i pobierz jego odniesienie w obiekcie ICart.
  • Uzyskaj dostęp do skoroszytu danych wykresu w obiekcie ICartDataWorkbook i wyczyść serię domyślną.
  • Dodaj nową serię do danych wykresu.
  • Uzyskaj dostęp do każdej serii w obiekcie ICartSeries i dodaj punkty danych do serii.
  • Ustaw znacznik serii za pomocą właściwości ICartSeries.Marker.
  • Zapisz prezentację metodą Presentation.Save(String, SaveFormat).

Poniższy przykładowy kod pokazuje, jak utworzyć wykres punktowy w prezentacjach programu PowerPoint przy użyciu języka C#.

// Utwórz instancję Klasa prezentacji, która reprezentuje plik PPTX
Presentation pres = new Presentation();

// Uzyskaj dostęp do pierwszego slajdu
ISlide sld = pres.Slides[0];

// Dodaj wykres z domyślnymi danymi
IChart chart = sld.Shapes.AddChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);

// Uzyskiwanie domyślnego indeksu arkusza danych wykresu
int defaultWorksheetIndex = 0;

// Pobieranie arkusza danych wykresu
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Usuń serię demonstracyjną
chart.ChartData.Series.Clear();

// Dodaj nową serię
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);

// Weź pierwszą serię wykresów
IChartSeries series = chart.ChartData.Series[0];

// Dodaj tam nowy punkt (1:3).
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 1), fact.GetCell(defaultWorksheetIndex, 2, 2, 3));

// Dodaj nowy punkt (2:10)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 2), fact.GetCell(defaultWorksheetIndex, 3, 2, 10));

// Edytuj typ serii
series.Type = ChartType.ScatterWithStraightLinesAndMarkers;

// Zmiana znacznika serii wykresu
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Star;

// Weź drugą serię wykresów
series = chart.ChartData.Series[1];

// Dodaj tam nowy punkt (5:2).
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 3, 5), fact.GetCell(defaultWorksheetIndex, 2, 4, 2));

// Dodaj nowy punkt (3:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 3, 3), fact.GetCell(defaultWorksheetIndex, 3, 4, 1));

// Dodaj nowy punkt (2:2)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 4, 3, 2), fact.GetCell(defaultWorksheetIndex, 4, 4, 2));

// Dodaj nowy punkt (5:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 5, 3, 5), fact.GetCell(defaultWorksheetIndex, 5, 4, 1));

// Zmiana znacznika serii wykresu
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Circle;

// Zapisz prezentację z wykresem
pres.Save("scattered-chart.pptx", SaveFormat.Pptx);

Poniższy zrzut ekranu przedstawia wynikowy wykres punktowy.

utwórz wykres rozproszony w programie Powerpoint w C#

Utwórz wykres kołowy w programie PowerPoint PPT przy użyciu języka C#

Poniżej przedstawiono kroki tworzenia wykresu kołowego w prezentacji programu PowerPoint przy użyciu języka C#.

Poniższy przykładowy kod pokazuje, jak utworzyć wykres kołowy w prezentacji programu PowerPoint przy użyciu języka C#.

// Utwórz instancję Klasa prezentacji, która reprezentuje plik PPTX
Presentation presentation = new Presentation();

// Uzyskaj dostęp do pierwszego slajdu
ISlide slides = presentation.Slides[0];

// Dodaj wykres z domyślnymi danymi
IChart chart = slides.Shapes.AddChart(ChartType.Pie, 100, 100, 400, 400);

// Tabela ustawień Tytuł
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// Ustaw pierwszą serię na Pokaż wartości
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// Ustawianie indeksu arkusza danych wykresu
int defaultWorksheetIndex = 0;

// Pobieranie arkusza danych wykresu
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// Usuń domyślnie wygenerowane serie i kategorie
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();

// Dodawanie nowych kategorii
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"));

// Dodanie nowej serii
IChartSeries series = chart.ChartData.Series.Add(fact.GetCell(0, 0, 1, "Series 1"), chart.Type);

// Teraz wypełnianie danych serii
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));

// Nie działa w nowej wersji
// Dodawanie nowych punktów i ustawianie koloru sektora
// seria.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;
// Ustawianie granicy sektora
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;

// Ustawianie granicy sektora
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;

// Ustawianie granicy sektora
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;

// Twórz niestandardowe etykiety dla każdej kategorii dla nowych serii
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;

// Wyświetlanie linii odniesienia dla wykresu
//series.Labels.DefaultDataLabelFormat.ShowLeaderLines = true;

// Ustawianie kąta obrotu dla sektorów wykresu kołowego
chart.ChartData.SeriesGroups[0].FirstSliceAngle = 180;

// Zapisz prezentację z wykresem
presentation.Save("pie-chart.pptx", SaveFormat.Pptx);

Poniżej znajduje się zrzut ekranu wygenerowanego wykresu kołowego.

utwórz wykres kołowy w powerpoint w C#

Dodaj wykres histogramu w programie PowerPoint PPTX przy użyciu języka C#

Poniżej przedstawiono kroki tworzenia wykresu histogramu w prezentacjach PowerPoint przy użyciu Aspose.Slides for .NET.

  • Utwórz instancję klasy Presentation.
  • Uzyskaj odwołanie do slajdu w obiekcie ISlide na podstawie jego indeksu.
  • Dodaj wykres histogramu z danymi domyślnymi.
  • Wyczyść domyślne serie i kategorie.
  • Uzyskaj dostęp do skoroszytu danych wykresu w obiekcie ICartDataWorkbook.
  • Dodaj nową serię i uzyskaj jej odniesienie w obiekcie ICartSeries.
  • Dodaj punkty danych do serii.
  • Ustaw typ agregacji osi wykresu.
  • Zapisz prezentację metodą Presentation.Save(String, SaveFormat).

Poniższy przykład kodu pokazuje, jak utworzyć wykres histogramu przy użyciu języka C#.

// Załaduj lub utwórz prezentację
using (Presentation pres = new Presentation())
{
    // Dodaj wykres histogramu
    IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Histogram, 50, 50, 500, 400);
    chart.ChartData.Categories.Clear();
    chart.ChartData.Series.Clear();

    // Dostęp do skoroszytu danych wykresu
    IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;

    // Wyczyść skoroszyt
    wb.Clear(0);

    // Dodaj serię wykresów
    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;

    // Zapisz prezentację
    pres.Save("histogram-chart.pptx", SaveFormat.Pptx);
}

Poniżej znajduje się zrzut ekranu utworzonego wykresu histogramu.

utwórz wykres histogramu w powerpoint w C#

Utwórz wykres giełdowy w programie PowerPoint przy użyciu języka C#

Wykres giełdowy jest również jednym z powszechnie używanych typów wykresów w prezentacjach programu PowerPoint. Poniżej przedstawiono kroki tworzenia wykresu giełdowego.

  • Utwórz nową prezentację programu PowerPoint, korzystając z klasy Prezentacja.
  • Uzyskaj odniesienie do slajdu w obiekcie ISlide, używając indeksu slajdu.
  • Dodaj wykres OpenHighLowClose do slajdu i uzyskaj jego odniesienie w obiekcie ICart.
  • Wyczyść domyślne serie i kategorie.
  • Uzyskaj dostęp do danych wykresu w obiekcie ICartDataWorkbook.
  • Dodaj nowe serie i kategorie do wykresu.
  • Uzyskaj dostęp do każdej serii wykresów i dodaj punkty danych.
  • Określ format HiLowLines.
  • Zapisz prezentację metodą Presentation.Save(String, SaveFormat).

Poniższy przykładowy kod pokazuje, jak dodać wykres giełdowy do prezentacji programu PowerPoint przy użyciu języka C#.

// Załaduj lub utwórz prezentację
using (Presentation pres = new Presentation())
{
    // Dodaj wykres
    IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);

    // Wyczyść kategorie i serie
    chart.ChartData.Series.Clear();
    chart.ChartData.Categories.Clear();

    // Dostęp do skoroszytu danych wykresu
    IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;

    // Dodaj kategorie
    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"));

    // Dodaj serię
    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);

    // Dodaj punkty danych
    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));

    // Ustaw, czy wykres ma słupki w górę/w dół
    chart.ChartData.SeriesGroups[0].UpDownBars.HasUpDownBars = true;

    // Określ format wysokiej/niskiej linii
    chart.ChartData.SeriesGroups[0].HiLowLinesFormat.Line.FillFormat.FillType = FillType.Solid;

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

    // Zapisz prezentację
    pres.Save("stock-chart.pptx", SaveFormat.Pptx);
}

Poniżej znajduje się zrzut ekranu utworzonego wykresu giełdowego.

utwórz wykres giełdowy w powerpoint w C#

Więcej typów wykresów

Oprócz wyżej wymienionych wykresów istnieją również inne rodzaje wykresów, które można dodać do prezentacji PowerPoint. Aby dowiedzieć się więcej o obsługiwanych typach wykresów, odwiedź ten artykuł w dokumentacji.

Uzyskaj bezpłatną licencję API

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować interfejs API bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się, jak tworzyć wykresy w prezentacjach programu PowerPoint przy użyciu języka C#. Ponadto przewodnik krok po kroku i przykłady kodu pokazały, jak dodawać wykresy kolumnowe, wykresy punktowe, wykresy kołowe, histogramy i wykresy giełdowe. Możesz dowiedzieć się więcej o Aspose.Slides for .NET za pomocą dokumentacji.

Zobacz też