【问题标题】:How to create dynamic charts in a power point by using Aspose slides如何使用 Aspose 幻灯片在 power point 中创建动态图表
【发布时间】:2018-08-31 00:42:13
【问题描述】:

需要帮助才能使用 Aspose 幻灯片在幻灯片中创建动态图表。

【问题讨论】:

    标签: aspose-slides


    【解决方案1】:

    @Mohini,

    我已经观察到您的要求,并愿意分享 Aspose.Slides 让您以编程方式创建 MSO 图表。我建议您尝试使用以下示例代码创建一个聚集柱形图。

            // Instantiate Presentation class that represents PPTX file
            Presentation pres = new Presentation();
    
            // Access first slide
            ISlide sld = pres.Slides[0];
    
            // Add chart with default data
            IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
    
            // Setting chart Title
            // Chart.ChartTitle.TextFrameForOverriding.Text = "Sample Title";
            chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
            chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
            chart.ChartTitle.Height = 20;
            chart.HasTitle = true;
    
            // Set first series to Show Values
            chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;
    
            // Setting the index of chart data sheet
            int defaultWorksheetIndex = 0;
    
            // Getting the chart data worksheet
            IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
    
            // Delete default generated series and categories
            chart.ChartData.Series.Clear();
            chart.ChartData.Categories.Clear();
            int s = chart.ChartData.Series.Count;
            s = chart.ChartData.Categories.Count;
    
            // Adding new series
            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);
    
            // Adding new categories
            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"));
    
            // Take first chart series
            IChartSeries series = chart.ChartData.Series[0];
    
            // Now populating series data
    
            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));
    
            // Setting fill color for series
            series.Format.Fill.FillType = FillType.Solid;
            series.Format.Fill.SolidFillColor.Color = Color.Red;
    
    
            // Take second chart series
            series = chart.ChartData.Series[1];
    
            // Now populating series data
            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));
    
            // Setting fill color for series
            series.Format.Fill.FillType = FillType.Solid;
            series.Format.Fill.SolidFillColor.Color = Color.Green;
    
            // First label will be show Category name
            IDataLabel lbl = series.DataPoints[0].Label;
            lbl.DataLabelFormat.ShowCategoryName = true;
    
            lbl = series.DataPoints[1].Label;
            lbl.DataLabelFormat.ShowSeriesName = true;
    
            // Show value for third label
            lbl = series.DataPoints[2].Label;
            lbl.DataLabelFormat.ShowValue = true;
            lbl.DataLabelFormat.ShowSeriesName = true;
            lbl.DataLabelFormat.Separator = "/";
    
            // Save presentation with chart
            pres.Save(dataDir + "AsposeChart_out.pptx", SaveFormat.Pptx);
    

    我在 Aspose 担任支持开发人员/宣传员。

    非常感谢,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 2022-08-12
      • 1970-01-01
      • 1970-01-01
      • 2019-06-11
      • 2020-12-13
      • 2016-02-07
      相关资源
      最近更新 更多