堆叠图表格式 Syncfusion
Stacked Chart Format Syncfusion
我应该有 5 列堆叠第二个和第三个值。
相反,我得到两列:
第一个堆叠每列的第二个值。
第二列堆叠最后 4 个值。
我不确定我做错了什么。在过去的一周里,我一直在与 Syncfusion 作斗争,试图获得我本以为是为客户制作的相当基本的幻灯片。然而,到目前为止,这一直是一场噩梦。
// Creates the two charts that go on the presentation
IPresentationChart chart = slide.Charts.AddChart(150, 100, 300, 125);
// Set data values
chart.ChartData.SetValue(1, 1, date1);
chart.ChartData.SetValue(2, 1, date2);
chart.ChartData.SetValue(3, 1, date3);
chart.ChartData.SetValue(4, 1, date4);
chart.ChartData.SetValue(5, 1, date5);
chart.ChartData.SetValue(1, 2, mains1);
chart.ChartData.SetValue(2, 2, mains2);
chart.ChartData.SetValue(3, 2, mains3);
chart.ChartData.SetValue(4, 2, mains4);
chart.ChartData.SetValue(5, 2, mains5);
chart.ChartData.SetValue(1, 3, variance1);
chart.ChartData.SetValue(2, 3, variance2);
chart.ChartData.SetValue(3, 3, variance3);
chart.ChartData.SetValue(4, 3, variance4);
chart.ChartData.SetValue(5, 3, variance5);
// Chart 1
// Set data range, Title and Category settings
chart.PrimaryCategoryAxis.CategoryType = OfficeCategoryType.Category;
chart.ChartTitle = "";
chart.ChartArea.Fill.Transparency = 0.5;
IOfficeChartSerie serie= chart.Series.Add(date1);
serie.Values = chart.ChartData[1, 2, 1, 3];
serie.SerieType = OfficeChartType.Column_Stacked;
IOfficeChartSerie serie2 = chart.Series.Add(date2);
serie2.Values = chart.ChartData[2, 2, 2, 3];
serie2.SerieType = OfficeChartType.Column_Stacked;
IOfficeChartSerie serie3 = chart.Series.Add(date3);
serie3.Values = chart.ChartData[3, 2, 3, 3];
serie3.SerieType = OfficeChartType.Column_Stacked;
IOfficeChartSerie serie4 = chart.Series.Add(date4);
serie4.Values = chart.ChartData[4, 2, 4, 3];
serie4.SerieType = OfficeChartType.Column_Stacked;
IOfficeChartSerie serie5 = chart.Series.Add(date5);
serie5.Values = chart.ChartData[5, 2, 5, 3];
serie5.SerieType = OfficeChartType.Column_Stacked;
chart.PlotArea.Layout.ManualLayout.Height = 0.9;
chart.PlotArea.Layout.ManualLayout.Width = 1;
chart.PlotArea.Layout.ManualLayout.Left = 0;
chart.PlotArea.Layout.ManualLayout.Top = 0;
chart.PrimaryCategoryAxis.CategoryLabels = chart.ChartData[1, 1, 5, 1];
chart.Legend.IncludeInLayout = false;
chart.HasLegend = false;
柱状堆积图中的列数取决于数据范围内可用的类别数。在您的代码片段中,只有两个类别值。因此,两列显示在列 - 堆积图中。
Example: serie.Values = chart.ChartData[1, 2, 1, 3];
此处的类别值为 [ 1, 2 ] 和 [ 1 , 3 ]。
我们还在 Microsoft PowerPoint 中为您的场景(在您的代码片段中)手动创建了一个图表,并将创建的 PowerPoint 演示文稿附在下面 link。
http://www.syncfusion.com/downloads/support/directtrac/general/pp/Chart1370190114.pptx
我们还修改了您的代码段以显示 5 列。请找到下面的代码片段。
IPresentationChart chart = slide.Charts.AddChart(150, 100, 300, 125);
chart.ChartType = OfficeChartType.Column_Stacked;
chart.ChartData.SetValue(1, 1, "4355");
chart.ChartData.SetValue(2, 1, "4356");
chart.ChartData.SetValue(3, 1, "4357");
chart.ChartData.SetValue(4, 1, "4358");
chart.ChartData.SetValue(5, 1, "4359");
chart.ChartData.SetValue(1, 2, "6");
chart.ChartData.SetValue(2, 2, "7");
chart.ChartData.SetValue(3, 2, "8");
chart.ChartData.SetValue(4, 2, "9");
chart.ChartData.SetValue(5, 2, "10");
chart.ChartData.SetValue(1, 3, "11");
chart.ChartData.SetValue(2, 3, "12");
chart.ChartData.SetValue(3, 3, "13");
chart.ChartData.SetValue(4, 3, "14");
chart.ChartData.SetValue(5, 3, "15");
//Set data range, Title and category settings
chart.PrimaryCategoryAxis.CategoryType = OfficeCategoryType.Category;
chart.ChartTitle = "";
chart.ChartArea.Fill.Transparency = 0.5;
IOfficeChartSerie serie = chart.Series.Add("date1");
//Selecting data from first row second column to fifth row second column
//ChartData[startRow,startColumn,endRow,endColumn]
serie.Values = chart.ChartData[1, 2, 5, 2]; //Modified the data range to have 5 columns
serie.SerieType = OfficeChartType.Column_Stacked;
IOfficeChartSerie serie2 = chart.Series.Add("date2");
//Selection data from first row third column to fifth row third column
serie2.Values = chart.ChartData[1, 3, 5, 3]; //Modified the data range to have 5 columns
serie2.SerieType = OfficeChartType.Column_Stacked;
chart.PlotArea.Layout.ManualLayout.Height = 0.9;
chart.PlotArea.Layout.ManualLayout.Width = 1;
chart.PlotArea.Layout.ManualLayout.Left = 0;
chart.PlotArea.Layout.ManualLayout.Top = 0;
chart.PrimaryCategoryAxis.CategoryLabels = chart.ChartData[1, 1, 5, 1];
chart.Legend.IncludeInLayout = true;
chart.HasLegend = false;
以上修改后的代码片段的输出文档:
http://www.syncfusion.com/downloads/support/directtrac/general/pp/Output-549061229.pptx
如果您需要进一步的帮助,请告诉我们,
注意:我在 Syncfusion Software Private Limited 工作
我应该有 5 列堆叠第二个和第三个值。
相反,我得到两列:
第一个堆叠每列的第二个值。
第二列堆叠最后 4 个值。
我不确定我做错了什么。在过去的一周里,我一直在与 Syncfusion 作斗争,试图获得我本以为是为客户制作的相当基本的幻灯片。然而,到目前为止,这一直是一场噩梦。
// Creates the two charts that go on the presentation
IPresentationChart chart = slide.Charts.AddChart(150, 100, 300, 125);
// Set data values
chart.ChartData.SetValue(1, 1, date1);
chart.ChartData.SetValue(2, 1, date2);
chart.ChartData.SetValue(3, 1, date3);
chart.ChartData.SetValue(4, 1, date4);
chart.ChartData.SetValue(5, 1, date5);
chart.ChartData.SetValue(1, 2, mains1);
chart.ChartData.SetValue(2, 2, mains2);
chart.ChartData.SetValue(3, 2, mains3);
chart.ChartData.SetValue(4, 2, mains4);
chart.ChartData.SetValue(5, 2, mains5);
chart.ChartData.SetValue(1, 3, variance1);
chart.ChartData.SetValue(2, 3, variance2);
chart.ChartData.SetValue(3, 3, variance3);
chart.ChartData.SetValue(4, 3, variance4);
chart.ChartData.SetValue(5, 3, variance5);
// Chart 1
// Set data range, Title and Category settings
chart.PrimaryCategoryAxis.CategoryType = OfficeCategoryType.Category;
chart.ChartTitle = "";
chart.ChartArea.Fill.Transparency = 0.5;
IOfficeChartSerie serie= chart.Series.Add(date1);
serie.Values = chart.ChartData[1, 2, 1, 3];
serie.SerieType = OfficeChartType.Column_Stacked;
IOfficeChartSerie serie2 = chart.Series.Add(date2);
serie2.Values = chart.ChartData[2, 2, 2, 3];
serie2.SerieType = OfficeChartType.Column_Stacked;
IOfficeChartSerie serie3 = chart.Series.Add(date3);
serie3.Values = chart.ChartData[3, 2, 3, 3];
serie3.SerieType = OfficeChartType.Column_Stacked;
IOfficeChartSerie serie4 = chart.Series.Add(date4);
serie4.Values = chart.ChartData[4, 2, 4, 3];
serie4.SerieType = OfficeChartType.Column_Stacked;
IOfficeChartSerie serie5 = chart.Series.Add(date5);
serie5.Values = chart.ChartData[5, 2, 5, 3];
serie5.SerieType = OfficeChartType.Column_Stacked;
chart.PlotArea.Layout.ManualLayout.Height = 0.9;
chart.PlotArea.Layout.ManualLayout.Width = 1;
chart.PlotArea.Layout.ManualLayout.Left = 0;
chart.PlotArea.Layout.ManualLayout.Top = 0;
chart.PrimaryCategoryAxis.CategoryLabels = chart.ChartData[1, 1, 5, 1];
chart.Legend.IncludeInLayout = false;
chart.HasLegend = false;
柱状堆积图中的列数取决于数据范围内可用的类别数。在您的代码片段中,只有两个类别值。因此,两列显示在列 - 堆积图中。
Example: serie.Values = chart.ChartData[1, 2, 1, 3];
此处的类别值为 [ 1, 2 ] 和 [ 1 , 3 ]。
我们还在 Microsoft PowerPoint 中为您的场景(在您的代码片段中)手动创建了一个图表,并将创建的 PowerPoint 演示文稿附在下面 link。 http://www.syncfusion.com/downloads/support/directtrac/general/pp/Chart1370190114.pptx
我们还修改了您的代码段以显示 5 列。请找到下面的代码片段。
IPresentationChart chart = slide.Charts.AddChart(150, 100, 300, 125);
chart.ChartType = OfficeChartType.Column_Stacked;
chart.ChartData.SetValue(1, 1, "4355");
chart.ChartData.SetValue(2, 1, "4356");
chart.ChartData.SetValue(3, 1, "4357");
chart.ChartData.SetValue(4, 1, "4358");
chart.ChartData.SetValue(5, 1, "4359");
chart.ChartData.SetValue(1, 2, "6");
chart.ChartData.SetValue(2, 2, "7");
chart.ChartData.SetValue(3, 2, "8");
chart.ChartData.SetValue(4, 2, "9");
chart.ChartData.SetValue(5, 2, "10");
chart.ChartData.SetValue(1, 3, "11");
chart.ChartData.SetValue(2, 3, "12");
chart.ChartData.SetValue(3, 3, "13");
chart.ChartData.SetValue(4, 3, "14");
chart.ChartData.SetValue(5, 3, "15");
//Set data range, Title and category settings
chart.PrimaryCategoryAxis.CategoryType = OfficeCategoryType.Category;
chart.ChartTitle = "";
chart.ChartArea.Fill.Transparency = 0.5;
IOfficeChartSerie serie = chart.Series.Add("date1");
//Selecting data from first row second column to fifth row second column
//ChartData[startRow,startColumn,endRow,endColumn]
serie.Values = chart.ChartData[1, 2, 5, 2]; //Modified the data range to have 5 columns
serie.SerieType = OfficeChartType.Column_Stacked;
IOfficeChartSerie serie2 = chart.Series.Add("date2");
//Selection data from first row third column to fifth row third column
serie2.Values = chart.ChartData[1, 3, 5, 3]; //Modified the data range to have 5 columns
serie2.SerieType = OfficeChartType.Column_Stacked;
chart.PlotArea.Layout.ManualLayout.Height = 0.9;
chart.PlotArea.Layout.ManualLayout.Width = 1;
chart.PlotArea.Layout.ManualLayout.Left = 0;
chart.PlotArea.Layout.ManualLayout.Top = 0;
chart.PrimaryCategoryAxis.CategoryLabels = chart.ChartData[1, 1, 5, 1];
chart.Legend.IncludeInLayout = true;
chart.HasLegend = false;
以上修改后的代码片段的输出文档:
http://www.syncfusion.com/downloads/support/directtrac/general/pp/Output-549061229.pptx
如果您需要进一步的帮助,请告诉我们,
注意:我在 Syncfusion Software Private Limited 工作