Diagram används för att sammanfatta och visuellt representera data i PowerPoint-presentationer. Därför tillhandahåller PowerPoint ett brett utbud av diagramtyper för att visualisera data. Bland alla de mest använda diagramtyperna inkluderar cirkeldiagram, linjediagram, stapeldiagram, histogram, aktiediagram och etc. I den här artikeln kommer du att lära dig hur du skapar dessa diagram i PowerPoint-presentationer med C#.
- C# API för att skapa diagram i PowerPoint
- Skapa kolumndiagram i PowerPoint med C#
- Skapa punktdiagram i PowerPoint med C#
- Lägg till cirkeldiagram i PowerPoint med C#
- Lägg till histogramdiagram i PowerPoint med C#
- Skapa ett aktiediagram i PowerPoint med C#
- Få gratis API-licens
C# API för att skapa diagram i PowerPoint
Aspose.Slides for .NET är ett C#-klassbibliotek som låter dig skapa och manipulera PowerPoint-presentationer från .NET-applikationer. Dessutom låter API:et dig skapa och lägga till diagram till presentationerna sömlöst. Aspose.Slides för .NET kan laddas ner som DLL eller installeras via NuGet.
PM> Install-Package Aspose.Slides
Skapa kolumndiagram i PowerPoint PPT med C#
I det här avsnittet kommer du att lära dig hur du skapar ett kolumndiagram och lägger till kategorier och serier för att fylla det diagrammet. Följande är stegen för att utföra denna operation.
- Skapa först en instans av klassen Presentation.
- Hämta referensen till bilden i objektet ISlide.
- Lägg till ett ClusteredColumn-diagram med standarddata och få dess referens i objektet IChart.
- Ställ in diagramtiteln med metoden IChart.ChartTitle.AddTextFrameForOverriding(String) och ställ in dess egenskaper.
- Öppna arbetsboken för diagramdata till objektet IChartDataWorkbook.
- Rensa alla standardserier och kategorier från diagramdata med metoderna IChart.ChartData.Series.Clear() och IChart.ChartData.Categories.Clear().
- Lägg till nya serier och kategorier.
- Få åtkomst till varje diagramserie till objektet IChartSeries och lägg till datapunkter till det.
- Lägg till fyllningsfärg för diagramserier och ställ in etiketter.
- Slutligen sparar du presentationen med metoden Presentation.Save(String, SaveFormat).
För demonstration visar följande kodexempel hur man skapar ett kolumndiagram i PowerPoint-presentation med C#.
// Instantiate Presentation-klass som representerar PPTX-fil
Presentation pres = new Presentation();
// Få tillgång till första bilden
ISlide sld = pres.Slides[0];
// Lägg till diagram med standarddata
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
// Inställningsdiagram Titel
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;
// Ställ in första serien på Visa värden
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;
// Ställa in index för diagramdatabladet
int defaultWorksheetIndex = 0;
// Hämta arbetsbladet för diagramdata
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Ta bort standardgenererade serier och kategorier
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;
// Lägger till ny serie
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);
// Lägger till nya kategorier
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"));
// Ta första diagramserien
IChartSeries series = chart.ChartData.Series[0];
// Fyller nu på seriedata
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));
// Ställa in fyllnadsfärg för serier
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = System.Drawing.Color.Blue;
// Ta den andra diagramserien
series = chart.ChartData.Series[1];
// Fyller nu på seriedata
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));
// Ställa in fyllnadsfärg för serier
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Orange;
// Den första etiketten kommer att visa Kategorinamn
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;
lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;
// Visa värde för tredje etikett
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
// Spara presentationen med diagram
pres.Save("column-chart.pptx", SaveFormat.Pptx);
Följande är skärmdumpen av det resulterande kolumndiagrammet.
Skapa spridningsdiagram i PowerPoint PPT med C#
Följande är stegen för att skapa ett punktdiagram i PowerPoint-presentationen med C#.
- Skapa en ny presentation med klassen Presentation.
- Hämta referensen till bilderna i objektet ISlide.
- Lägg till en ScatterWithSmoothLines-diagramtyp med standarddata och få dess referens i objektet IChart.
- Öppna arbetsboken för diagramdata till objektet IChartDataWorkbook och rensa standardserien.
- Lägg till nya serier till diagramdata.
- Få åtkomst till varje serie till objektet IChartSeries och lägg till datapunkter i serien.
- Ställ in markören för serien med egenskapen IChartSeries.Marker.
- Spara presentationen med metoden Presentation.Save(String, SaveFormat).
Följande kodexempel visar hur man skapar ett punktdiagram i PowerPoint-presentationer med C#.
// Instantiate Presentation-klass som representerar PPTX-fil
Presentation pres = new Presentation();
// Få tillgång till första bilden
ISlide sld = pres.Slides[0];
// Lägg till diagram med standarddata
IChart chart = sld.Shapes.AddChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
// Hämta standarddiagrammets kalkylbladsindex
int defaultWorksheetIndex = 0;
// Hämta arbetsbladet för diagramdata
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Ta bort demoserier
chart.ChartData.Series.Clear();
// Lägg till nya serier
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);
// Ta första diagramserien
IChartSeries series = chart.ChartData.Series[0];
// Lägg till ny punkt (1:3) där.
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 1), fact.GetCell(defaultWorksheetIndex, 2, 2, 3));
// Lägg till ny punkt (2:10)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 2), fact.GetCell(defaultWorksheetIndex, 3, 2, 10));
// Redigera typen av serie
series.Type = ChartType.ScatterWithStraightLinesAndMarkers;
// Ändra diagramseriemarkören
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Star;
// Ta den andra diagramserien
series = chart.ChartData.Series[1];
// Lägg till ny punkt (5:2) där.
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 3, 5), fact.GetCell(defaultWorksheetIndex, 2, 4, 2));
// Lägg till ny punkt (3:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 3, 3), fact.GetCell(defaultWorksheetIndex, 3, 4, 1));
// Lägg till ny punkt (2:2)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 4, 3, 2), fact.GetCell(defaultWorksheetIndex, 4, 4, 2));
// Lägg till ny punkt (5:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 5, 3, 5), fact.GetCell(defaultWorksheetIndex, 5, 4, 1));
// Ändra diagramseriemarkören
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Circle;
// Spara presentationen med diagram
pres.Save("scattered-chart.pptx", SaveFormat.Pptx);
Följande skärmdump visar det resulterande spridningsdiagrammet.
Skapa cirkeldiagram i PowerPoint PPT med C#
Följande är stegen för att skapa ett cirkeldiagram i en PowerPoint-presentation med C#.
- Skapa en ny presentation med klassen Presentation.
- Hämta referensen till bilderna i objektet ISlide.
- Lägg till en cirkeldiagramtyp med standarddata och få dess referens i objektet IChart.
- Ställ in diagramtiteln med metoden IChart.ChartTitle.AddTextFrameForOverriding(String) och ställ in dess egenskaper.
- Ställ in synlighet för värdena.
- Rensa standardserien och kategorierna med hjälp av metoderna IChart.ChartData.Series.Clear() och IChart.ChartData.Categories.Clear().
- Öppna arbetsboken för diagramdata till objektet IChartDataWorkbook.
- Lägg till nya kategorier till sjökortsdata i samlingen IChart.ChartData.Categories.
- Lägg till nya serier till sjökortsdata i samlingen IChart.ChartData.Series.
- Hämta varje serie till objektet IChartSeries och lägg till datapunkter i serien.
- Få åtkomst till varje datapunkt i IChartDataPoint-objektet och ställ in dess formatering.
- Få åtkomst till dataetiketter i datapunkterna med objektet IDataLabel och ställ in deras formatering.
- Ställ in ledarlinjer och rotationsvinklar.
- Spara presentationen med metoden Presentation.Save(String, SaveFormat).
Följande kodexempel visar hur man skapar ett cirkeldiagram i PowerPoint-presentation med C#.
// Instantiate Presentation-klass som representerar PPTX-fil
Presentation presentation = new Presentation();
// Få tillgång till första bilden
ISlide slides = presentation.Slides[0];
// Lägg till diagram med standarddata
IChart chart = slides.Shapes.AddChart(ChartType.Pie, 100, 100, 400, 400);
// Inställningsdiagram Titel
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;
// Ställ in första serien på Visa värden
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;
// Ställa in index för diagramdatabladet
int defaultWorksheetIndex = 0;
// Hämta arbetsbladet för diagramdata
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Ta bort standardgenererade serier och kategorier
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
// Lägger till nya kategorier
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"));
// Lägger till ny serie
IChartSeries series = chart.ChartData.Series.Add(fact.GetCell(0, 0, 1, "Series 1"), chart.Type);
// Fyller nu på seriedata
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));
// Fungerar inte i ny version
// Lägger till nya punkter och ställer in sektorfärg
// series.IsColorVaried = sant;
chart.ChartData.SeriesGroups[0].IsColorVaried = true;
IChartDataPoint point = series.DataPoints[0];
point.Format.Fill.FillType = FillType.Solid;
point.Format.Fill.SolidFillColor.Color = Color.Orange;
// Ställa in sektorgräns
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;
// Ställa in sektorgräns
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;
// Ställa in sektorgräns
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;
// Skapa anpassade etiketter för varje kategori för nya serier
IDataLabel lbl1 = series.DataPoints[0].Label;
// lbl.ShowCategoryName = sant;
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;
// Visar ledarlinjer för diagram
//series.Labels.DefaultDataLabelFormat.ShowLeaderLines = true;
// Ställa in rotationsvinkel för cirkeldiagramsektorer
chart.ChartData.SeriesGroups[0].FirstSliceAngle = 180;
// Spara presentationen med diagram
presentation.Save("pie-chart.pptx", SaveFormat.Pptx);
Följande är skärmdumpen av det genererade cirkeldiagrammet.
Lägg till histogramdiagram i PowerPoint PPTX med C#
Följande är stegen för att skapa ett histogramdiagram i PowerPoint-presentationer med Aspose.Slides för .NET.
- Skapa en instans av klassen Presentation.
- Få en bilds referens i objektet ISlide genom dess index.
- Lägg till ett histogramdiagram med standarddata.
- Rensa standardserier och kategorier.
- Öppna arbetsboken för diagramdata i objektet IChartDataWorkbook.
- Lägg till nya serier och få dess referens i objektet IChartSeries.
- Lägg till datapunkter i serien.
- Ställ in aggregeringstyp för diagramaxeln.
- Spara presentationen med metoden Presentation.Save(String, SaveFormat).
Följande kodexempel visar hur man skapar ett histogramdiagram med C#.
// Ladda eller skapa presentation
using (Presentation pres = new Presentation())
{
// Lägg till histogramdiagram
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Histogram, 50, 50, 500, 400);
chart.ChartData.Categories.Clear();
chart.ChartData.Series.Clear();
// Arbetsbok för åtkomst till diagramdata
IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;
// Rensa arbetsbok
wb.Clear(0);
// Lägg till diagramserier
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;
// Spara presentationen
pres.Save("histogram-chart.pptx", SaveFormat.Pptx);
}
Följande är skärmdumpen av det skapade histogramdiagrammet.
Skapa ett aktiediagram i PowerPoint med C#
Aktiediagram är också en av de vanligaste diagramtyperna inom PowerPoint-presentationer. Följande är stegen för att skapa ett aktiediagram.
- Skapa en ny PowerPoint-presentation med klassen Presentation.
- Skaffa bildens referens i ett ISlide-objekt med hjälp av bildens index.
- Lägg till OpenHighLowClose-diagrammet till bilden och få dess referens i objektet IChart.
- Rensa standardserier och kategorier.
- Få tillgång till sjökortsdata i objektet IChartDataWorkbook.
- Lägg till nya serier och kategorier i diagrammet.
- Få åtkomst till varje diagramserie och lägg till datapunkter.
- Ange HiLowLines-format.
- Spara presentationen med metoden Presentation.Save(String, SaveFormat).
Följande kodexempel visar hur man lägger till ett aktiediagram till PowerPoint-presentation med C#.
// Ladda eller skapa presentation
using (Presentation pres = new Presentation())
{
// Lägg till diagram
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);
// Tydliga kategorier och serier
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
// Arbetsbok för åtkomst till diagramdata
IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;
// Lägg till kategorier
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"));
// Lägg till serier
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);
// Lägg till datapunkter
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));
// Ställ in om diagrammet har staplar upp/ned
chart.ChartData.SeriesGroups[0].UpDownBars.HasUpDownBars = true;
// Ange hi/low line format
chart.ChartData.SeriesGroups[0].HiLowLinesFormat.Line.FillFormat.FillType = FillType.Solid;
foreach (IChartSeries ser in chart.ChartData.Series)
{
ser.Format.Line.FillFormat.FillType = FillType.NoFill;
}
// Spara presentationen
pres.Save("stock-chart.pptx", SaveFormat.Pptx);
}
Följande är skärmdumpen av det skapade aktiediagrammet.
Fler diagramtyper
Utöver de ovan nämnda diagrammen finns det även andra typer av diagram som du kan lägga till i PowerPoint-presentationer. För att läsa mer om de diagramtyper som stöds kan du besöka denna dokumentationsartikeln.
Skaffa en gratis API-licens
Du kan skaffa en gratis tillfällig licens för att prova API:et utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du skapar diagram i PowerPoint-presentationer med C#. Dessutom har steg-för-steg-guiden och kodexemplen visat hur man lägger till kolumndiagram, spridningsdiagram, cirkeldiagram, histogram och aktiediagram. Du kan utforska mer om Aspose.Slides för .NET med hjälp av dokumentation.