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を使用してチャートを更新する際の現在のコードです。コードの一連のコードの色を変更する方法を知りたいです。

4

1 に答える 1

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 を使用して、同じように実装してみます。この点に関する情報を共有して、さらに役立つようにしてください。

次のコードは、第 2 軸に系列値をプロットする方法も示しています。

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");
于 2012-12-06T14:36:02.887 に答える