0

我正在ComboChart使用 GemBox.Presentation(连同 GemBox.Spreadsheet)在 PPTX 文件中创建一个图表(类型)。我正在使用PowerPoint 图表示例中的代码并添加了Excel 组合图表示例的部分内容。

这是我到目前为止所拥有的:

var presentation = new PresentationDocument();
var slide = presentation.Slides.AddNew(SlideLayoutType.Custom);
var chart = slide.Content.AddChart(GemBox.Presentation.ChartType.Combo, 25, 25, 300, 500);
var comboChart = (ComboChart)chart.ExcelChart;
var worksheet = comboChart.Worksheet;

worksheet.Cells["A1"].Value = "Name";
worksheet.Cells["A2"].Value = "John Doe";
worksheet.Cells["A3"].Value = "Fred Nurk";

worksheet.Cells["B1"].Value = "Salary";
worksheet.Cells["B2"].Value = 4023;
worksheet.Cells["B3"].Value = 3263;

worksheet.Cells["C1"].Value = "Max";
worksheet.Cells["C2"].Value = 4500;
worksheet.Cells["C3"].Value = 4300;

worksheet.Cells["D1"].Value = "Min";
worksheet.Cells["D2"].Value = 3000;
worksheet.Cells["D3"].Value = 2800;

comboChart.CategoryLabelsReference = "A2:A3";

var salaryChart = comboChart.Add(GemBox.Spreadsheet.Charts.ChartType.Column);
salaryChart.Series.Add("=B1", "B2:B3");

var minMaxChart = comboChart.Add(GemBox.Spreadsheet.Charts.ChartType.Line);
minMaxChart.Series.Add("=C1", "C2:C3");
minMaxChart.Series.Add("=D1", "D2:D3");

presentation.Save("output.pptx");

这就是我得到的: PPTX 文件中的组合图

现在我的问题是我找不到任何方法来访问和格式化类别轴和垂直轴。

我尝试使用chartcomboChartsalaryChartminMaxChart对象,但它们都没有任何轴属性!?

比方说,我怎样才能设置轴标题?

4

1 回答 1

1

要设置组合图表的轴,您需要使用其中一个包含图表的轴,因此要么salaryChart要么minMaxChart

现在,您在它们上看不到任何轴属性的原因是它们属于基本类型 ( ExcelChart)。您需要将它们转换为派生类型,如下所示:

var salaryChart = (ColumnChart)comboChart.Add(GemBox.Spreadsheet.Charts.ChartType.Column);
salaryChart.Series.Add("=B1", "B2:B3");

salaryChart.Axes.Horizontal.Title.Text = "My Categories";
salaryChart.Axes.Vertical.Title.Text = "My Values";
于 2020-12-09T03:29:31.780 回答