2012-12-03 44 views
1
ChartDataCellFactory fact = chart.ChartData.ChartDataCellFactory; 
      ChartSeriesEx series = chart.ChartData.Series[0]; 

     for(int i=0;i<9;i++) 
     { 

      fact.GetCell(0, 0, 1, "Index"); 
      series.Values[check].Value = 10; 
     } 

以上是我當前使用aspose.slides更新圖表的代碼..我想知道如何更改代碼系列代碼的顏色。aspose slide來更新系列顏色

回答

1

我的名字是Nayyer,我是Aspose的開發者傳道士。

請嘗試使用以下設置特定系列填充顏色的代碼片段。

ChartSeriesEx series = chart.ChartData.Series[0]; 
series.Format.Fill.FillType = FillTypeEx.Solid; 
series.Format.Fill.SolidFillColor.Color = Color.FromArgb(32, 202, 250); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, 40)); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 2, 1, 64)); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 3, 1, 50)); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 4, 1, 1)); 

但是,您可以考慮查看下面的代碼片段,因爲它可以幫助您理解使用不同圖表實體的概念。但首先我想在X軸(類別軸)上分享,類別被繪製並且系列在Y軸(值軸)上繪製。你能否通過設置x軸和y軸的最小值/最大值來詳細說明你的意思。 x軸只包含類別名稱。其次,在我看來,爲PowerPoint設置數值軸的最小/最大值也是不可用的。你可以請你以快照的形式分享在PowerPoint中設置軸的最小值/最大值的方式,我將嘗試使用Aspose.Slides在我的最後實現相同的功能。請分享這方面的信息,以便我可以進一步幫助你。

以下代碼還顯示瞭如何在次軸上繪製系列值。

PresentationEx pres; 
pres = new PresentationEx(); 
SlideEx sld = pres.Slides[0]; 
ChartEx chart = sld.Shapes.AddChart(ChartTypeEx.ClusteredColumn, 0, 0, 500, 500); 
chart.ChartTitle.Text.Text = "Sample Title"; 
chart.ChartTitle.Text.CenterText = true; 
chart.ChartTitle.Height = 20; 
chart.HasTitle = false; 
chart.HasLegend = false; 
chart.ChartData.Series[0].Labels.ShowValue = true; 

chart.SecondCategoryAxis.IsVisible = true; 

int defaultWorksheetIndex = 0; 
ChartDataCellFactory fact = chart.ChartData.ChartDataCellFactory; 
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, "1"), chart.Type); 
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "2"), chart.Type); 
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 3, "3"), chart.Type); 
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Age")); 
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Gender")); 
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Status")); 
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 4, 0, "Nationality")); 
chart.GapDepth = 200; 
//chart.GapWidth = 50 I need to be able to do something similar to this code 

ChartSeriesEx series = chart.ChartData.Series[0]; 
series.Format.Fill.FillType = FillTypeEx.Solid; 
series.Format.Fill.SolidFillColor.Color = Color.FromArgb(32, 202, 250); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, 40)); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 2, 1, 64)); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 3, 1, 50)); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 4, 1, 1)); 
series.PlotOnSecondAxis = true; 

series = chart.ChartData.Series[1]; 
series.Format.Fill.FillType = FillTypeEx.Solid; 
series.Format.Fill.SolidFillColor.Color = Color.FromArgb(0, 122, 171); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 1, 2, 4)); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 2, 2, 19)); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 3, 2, 50)); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 4, 2, 25)); 
series.PlotOnSecondAxis = true; 

series = chart.ChartData.Series[2]; 
series.Format.Fill.FillType = FillTypeEx.Solid; 
series.Format.Fill.SolidFillColor.Color = Color.FromArgb(0, 136, 188); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 1, 2, 3)); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 2, 2, 17)); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 3, 2, 0)); 
series.Values.Add(fact.GetCell(defaultWorksheetIndex, 4, 2, 63)); 

series.PlotOnSecondAxis = true; 

chart.GapDepth = 80;//Values in percentage 
chart.GapWidth = 250; 

pres.Write("D:\\Aspose Data\\Presentation2.pptx");