使用Aspose.Cells for C#更改条形图轴比例?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (135)

我正在尝试使用Aspose.Cells for C#设置条形图的轴比例。我目前所做的基本上是这样的:

var chart = worksheet.Charts.Add(ChartType.BarChart, 1, 1, 15, 15)
chart.NSeries.AddSeries("{.015,.03,.04}", true)
chart.NSeries.CategoryData = "{Apples,Oranges,Pears}"
chart.SeriesAxis.IsAutomaticMajorUnit = false;
chart.SeriesAxis.MajorUnit = .01;

但是,当电子表格呈现图表的主要单位比例时会自动设置为.1,因此所有条形看起来都不成比例。我怎样才能改变系列轴的刻度,所以它有间距为.01的刻度线?

提问于
用户回答回答于

请根据你的需要使用以下代码。

C#

//Set the major unit to 0.01
ch.ValueAxis.IsAutomaticMajorUnit = false;
ch.ValueAxis.MajorUnit = 0.01;

下面是完整的示例代码和屏幕截图,显示由代码生成的输出Excel文件供您参考。

C#

// Create empty workbook.
Workbook wb = new Workbook();

// Access first worksheet.
Worksheet worksheet = wb.Worksheets[0];

// Add Bar chart in first worksheet.
int idx = worksheet.Charts.Add(ChartType.Bar, 5, 2, 20, 10);

// Access Bar chart.
Chart ch = worksheet.Charts[0];

// Add two number series, true means they are vertical.
ch.NSeries.Add("{.015,.03,.04}", true);

// Set the category data to show on X-axis.
ch.NSeries.CategoryData = "{Apples,Oranges,Pears}";

// Set the name of first and second series.
ch.NSeries[0].Name = "Cricket";

//Set the major unit to 0.01
ch.ValueAxis.IsAutomaticMajorUnit = false;
ch.ValueAxis.MajorUnit = 0.01;

// Save the output in xlsx format.
wb.Save("outputBarChart.xlsx", SaveFormat.Xlsx);

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励