Grafy se používají k shrnutí a vizuální reprezentaci dat v prezentacích PowerPoint. PowerPoint proto poskytuje širokou škálu typů grafů pro vizualizaci dat. Mezi nejběžněji používané typy grafů patří výsečové grafy, spojnicové grafy, sloupcové grafy, histogramy, akciové grafy atd. V tomto článku se dozvíte, jak vytvořit tyto grafy v prezentacích PowerPoint pomocí C#.
- C# API pro vytváření grafů v PowerPointu
- Vytvořte sloupcový graf v PowerPointu pomocí C#
- Vytvořte bodový graf v PowerPointu pomocí C#
- Přidat výsečový graf v PowerPointu pomocí C#
- Přidat histogramový graf v PowerPointu pomocí C#
- Vytvořte akciový graf v PowerPointu pomocí C#
- Získejte bezplatnou licenci API
C# API pro vytváření grafů v PowerPointu
Aspose.Slides for .NET je knihovna tříd C#, která umožňuje vytvářet a manipulovat s prezentacemi PowerPoint z aplikací .NET. Kromě toho vám API umožňuje bezproblémově vytvářet a přidávat grafy do prezentací. Aspose.Slides for .NET lze stáhnout jako DLL nebo nainstalovat pomocí NuGet.
PM> Install-Package Aspose.Slides
Vytvořte sloupcový graf v PowerPoint PPT pomocí C#
V této části se dozvíte, jak vytvořit sloupcový graf a přidat kategorie a řady k naplnění tohoto grafu. Následují kroky k provedení této operace.
- Nejprve vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek v objektu ISlide.
- Přidejte graf ClusteredColumn s výchozími daty a získejte jeho odkaz v objektu IChart.
- Nastavte název grafu pomocí metody IChart.ChartTitle.AddTextFrameForOverriding(String) a nastavte jeho vlastnosti.
- Otevřete sešit dat grafu do objektu IChartDataWorkbook.
- Vymažte všechny výchozí řady a kategorie z dat grafu pomocí metod IChart.ChartData.Series.Clear() a IChart.ChartData.Categories.Clear().
- Přidejte nové série a kategorie.
- Přistupte ke každé řadě grafu do objektu IChartSeries a přidejte do ní datové body.
- Přidejte barvu výplně pro řady grafů a nastavte štítky.
- Nakonec prezentaci uložte pomocí metody Presentation.Save(String, SaveFormat).
Pro demonstraci následující ukázka kódu ukazuje, jak vytvořit sloupcový graf v prezentaci PowerPoint pomocí C#.
// Třída okamžité prezentace, která představuje soubor PPTX
Presentation pres = new Presentation();
// Přístup k prvnímu snímku
ISlide sld = pres.Slides[0];
// Přidat graf s výchozími daty
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
// Nastavení názvu grafu
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;
// Nastavte první sérii na Zobrazit hodnoty
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;
// Nastavení indexu datového listu grafu
int defaultWorksheetIndex = 0;
// Získání listu dat grafu
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Smazat výchozí vygenerované série a kategorie
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;
// Přidávání nové série
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);
// Přidávání nových kategorií
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"));
// Vezměte první sérii grafů
IChartSeries series = chart.ChartData.Series[0];
// Nyní se vyplňují data série
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));
// Nastavení barvy výplně pro sérii
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = System.Drawing.Color.Blue;
// Vezměte druhou řadu grafů
series = chart.ChartData.Series[1];
// Nyní se vyplňují data série
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));
// Nastavení barvy výplně pro sérii
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Orange;
// První štítek bude zobrazovat název kategorie
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;
lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;
// Zobrazit hodnotu pro třetí štítek
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
// Uložit prezentaci s grafem
pres.Save("column-chart.pptx", SaveFormat.Pptx);
Následuje snímek obrazovky výsledného sloupcového grafu.
Vytvořte bodový graf v PowerPoint PPT pomocí C#
Následují kroky k vytvoření bodového grafu v prezentaci PowerPoint pomocí C#.
- Vytvořte novou prezentaci pomocí třídy Presentation.
- Získejte odkaz na snímky v objektu ISlide.
- Přidejte typ grafu ScatterWithSmoothLines s výchozími daty a získejte jeho odkaz v objektu IChart.
- Otevřete sešit dat grafu do objektu IChartDataWorkbook a vymažte výchozí řadu.
- Přidejte k datům grafu nové řady.
- Přistupte ke každé řadě do objektu IChartSeries a přidejte do řady datové body.
- Nastavte značku pro řadu pomocí vlastnosti IChartSeries.Marker.
- Uložte prezentaci pomocí metody Presentation.Save(String, SaveFormat).
Následující ukázka kódu ukazuje, jak vytvořit bodový graf v prezentacích PowerPoint pomocí C#.
// Třída okamžité prezentace, která představuje soubor PPTX
Presentation pres = new Presentation();
// Přístup k prvnímu snímku
ISlide sld = pres.Slides[0];
// Přidat graf s výchozími daty
IChart chart = sld.Shapes.AddChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
// Získání výchozího indexu listu dat grafu
int defaultWorksheetIndex = 0;
// Získání listu dat grafu
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Smazat ukázkovou sérii
chart.ChartData.Series.Clear();
// Přidat novou sérii
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);
// Vezměte první sérii grafů
IChartSeries series = chart.ChartData.Series[0];
// Přidejte tam nový bod (1:3).
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 1), fact.GetCell(defaultWorksheetIndex, 2, 2, 3));
// Přidat nový bod (2:10)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 2), fact.GetCell(defaultWorksheetIndex, 3, 2, 10));
// Upravte typ série
series.Type = ChartType.ScatterWithStraightLinesAndMarkers;
// Změna značky řady grafu
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Star;
// Vezměte druhou řadu grafů
series = chart.ChartData.Series[1];
// Přidejte tam nový bod (5:2).
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 3, 5), fact.GetCell(defaultWorksheetIndex, 2, 4, 2));
// Přidat nový bod (3:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 3, 3), fact.GetCell(defaultWorksheetIndex, 3, 4, 1));
// Přidat nový bod (2:2)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 4, 3, 2), fact.GetCell(defaultWorksheetIndex, 4, 4, 2));
// Přidat nový bod (5:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 5, 3, 5), fact.GetCell(defaultWorksheetIndex, 5, 4, 1));
// Změna značky řady grafu
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Circle;
// Uložit prezentaci s grafem
pres.Save("scattered-chart.pptx", SaveFormat.Pptx);
Následující snímek obrazovky ukazuje výsledný bodový graf.
Vytvořte výsečový graf v PowerPoint PPT pomocí C#
Následují kroky k vytvoření výsečového grafu v prezentaci PowerPoint pomocí C#.
- Vytvořte novou prezentaci pomocí třídy Presentation.
- Získejte odkaz na snímky v objektu ISlide.
- Přidejte typ výsečového grafu s výchozími daty a získejte jeho odkaz v objektu IChart.
- Nastavte název grafu pomocí metody IChart.ChartTitle.AddTextFrameForOverriding(String) a nastavte jeho vlastnosti.
- Nastavte viditelnost hodnot.
- Vymažte výchozí řady a kategorie pomocí metod IChart.ChartData.Series.Clear() a IChart.ChartData.Categories.Clear().
- Otevřete sešit dat grafu do objektu IChartDataWorkbook.
- Přidejte nové kategorie k datům grafu do kolekce IChart.ChartData.Categories.
- Přidejte nové řady k datům grafu do kolekce IChart.ChartData.Series.
- Získejte každou řadu do objektu IChartSeries a přidejte do řady datové body.
- Přistupte ke každému datovému bodu do objektu IChartDataPoint a nastavte jeho formátování.
- Zpřístupněte datové štítky v datových bodech pomocí objektu IDataLabel a nastavte jejich formátování.
- Nastavte odkazové čáry a úhly rotace.
- Uložte prezentaci pomocí metody Presentation.Save(String, SaveFormat).
Následující ukázka kódu ukazuje, jak vytvořit výsečový graf v prezentaci PowerPoint pomocí C#.
// Třída okamžité prezentace, která představuje soubor PPTX
Presentation presentation = new Presentation();
// Přístup k prvnímu snímku
ISlide slides = presentation.Slides[0];
// Přidat graf s výchozími daty
IChart chart = slides.Shapes.AddChart(ChartType.Pie, 100, 100, 400, 400);
// Nastavení názvu grafu
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;
// Nastavte první sérii na Zobrazit hodnoty
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;
// Nastavení indexu datového listu grafu
int defaultWorksheetIndex = 0;
// Získání listu dat grafu
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Smazat výchozí vygenerované série a kategorie
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
// Přidávání nových kategorií
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"));
// Přidávání nové série
IChartSeries series = chart.ChartData.Series.Add(fact.GetCell(0, 0, 1, "Series 1"), chart.Type);
// Nyní se vyplňují data série
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));
// V nové verzi nefunguje
// Přidávání nových bodů a nastavení barvy sektoru
// 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;
// Nastavení hranice sektoru
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;
// Nastavení hranice sektoru
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;
// Nastavení hranice sektoru
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;
// Vytvořte vlastní štítky pro každou z kategorií pro nové série
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;
// Zobrazení vůdčích čar pro graf
//series.Labels.DefaultDataLabelFormat.ShowLeaderLines = true;
// Nastavení úhlu rotace pro sektory koláčového grafu
chart.ChartData.SeriesGroups[0].FirstSliceAngle = 180;
// Uložit prezentaci s grafem
presentation.Save("pie-chart.pptx", SaveFormat.Pptx);
Následuje snímek obrazovky vygenerovaného koláčového grafu.
Přidat histogramový graf v PowerPoint PPTX pomocí C#
Následují kroky k vytvoření histogramového grafu v prezentacích PowerPoint pomocí Aspose.Slides for .NET.
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek v objektu ISlide podle jeho indexu.
- Přidejte histogramový graf s výchozími daty.
- Vymažte výchozí série a kategorie.
- Otevřete sešit dat grafu v objektu IChartDataWorkbook.
- Přidejte novou řadu a získejte její odkaz v objektu IChartSeries.
- Přidejte datové body do řady.
- Nastavte typ agregace osy grafu.
- Uložte prezentaci pomocí metody Presentation.Save(String, SaveFormat).
Následující ukázka kódu ukazuje, jak vytvořit histogramový graf pomocí C#.
// Načtěte nebo vytvořte prezentaci
using (Presentation pres = new Presentation())
{
// Přidejte graf histogramu
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Histogram, 50, 50, 500, 400);
chart.ChartData.Categories.Clear();
chart.ChartData.Series.Clear();
// Přístup k datovému sešitu grafu
IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;
// Přehledný sešit
wb.Clear(0);
// Přidat řadu grafů
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;
// Uložit prezentaci
pres.Save("histogram-chart.pptx", SaveFormat.Pptx);
}
Následuje snímek obrazovky vytvořeného histogramového grafu.
Vytvořte akciový graf v PowerPointu pomocí C#
Burzovní graf je také jedním z běžně používaných typů grafů v prezentacích PowerPoint. Následují kroky k vytvoření burzovního grafu.
- Vytvořte novou PowerPointovou prezentaci pomocí třídy Presentation.
- Získejte odkaz na snímek v objektu ISlide pomocí indexu snímku.
- Přidejte na snímek graf OpenHighLowClose a získejte jeho odkaz v objektu IChart.
- Vymažte výchozí série a kategorie.
- Získejte přístup k datům grafu v objektu IChartDataWorkbook.
- Přidejte do grafu nové série a kategorie.
- Získejte přístup ke každé řadě grafů a přidejte datové body.
- Zadejte formát HiLowLines.
- Uložte prezentaci pomocí metody Presentation.Save(String, SaveFormat).
Následující ukázka kódu ukazuje, jak přidat burzovní graf do prezentace PowerPoint pomocí C#.
// Načtěte nebo vytvořte prezentaci
using (Presentation pres = new Presentation())
{
// Přidat graf
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);
// Přehledné kategorie a série
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
// Přístup k datovému sešitu grafu
IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;
// Přidat 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"));
// Přidat sérii
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);
// Přidejte datové body
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));
// Nastavte, zda graf obsahuje pruhy nahoru/dolů
chart.ChartData.SeriesGroups[0].UpDownBars.HasUpDownBars = true;
// Určete formát řádků vysoký/nízký
chart.ChartData.SeriesGroups[0].HiLowLinesFormat.Line.FillFormat.FillType = FillType.Solid;
foreach (IChartSeries ser in chart.ChartData.Series)
{
ser.Format.Line.FillFormat.FillType = FillType.NoFill;
}
// Uložit prezentaci
pres.Save("stock-chart.pptx", SaveFormat.Pptx);
}
Následuje snímek obrazovky vytvořeného akciového grafu.
Více typů grafů
Kromě výše uvedených grafů existují také další typy grafů, které můžete přidat do prezentací aplikace PowerPoint. Chcete-li si přečíst více o podporovaných typech grafů, můžete navštívit tento článek dokumentace.
Získejte bezplatnou licenci API
Můžete získat bezplatnou dočasnou licenci, abyste mohli vyzkoušet API bez omezení hodnocení.
Závěr
V tomto článku jste se naučili vytvářet grafy v prezentacích PowerPoint pomocí C#. Kromě toho podrobný průvodce a ukázky kódu ukázaly, jak přidat sloupcové grafy, bodové grafy, koláčové grafy, histogramy a akciové grafy. Více o Aspose.Slides for .NET můžete prozkoumat pomocí dokumentace.