aardio 文档

dotNet.ReoGrid 扩展库 - 柱状图

要添加柱状图,首先需要在工作表中设置数据源:

//获取当前工作表
var sheet1 = grid.CurrentWorksheet;

//设置数据源,aardio 中可以直接使用表对象
sheet1["A2"] = [
    [ 2007, 2008, 2009, 2010, 2011, 2012 ],
    [ "城市1", 3, 2, 4, 2, 6 ],
    [ "城市2", 7, 5, 3, 6, 4 ],
    [ "城市3", 13, 10, 9, 10, 9 ],
    [ "总计", "=SUM(B3:B5)", "=SUM(C3:C5)", "=SUM(D3:D5)", "=SUM(E3:E5)", "=SUM(F3:F5)" ]
];

创建三个区域:数据源区域、行标题区域和列标题区域,并将这些区域添加到高亮区域集合中以突出显示:

//定义数据区域
var dataRange = ReoGrid.RangePosition("B3:F5");
//定义行标题区域
var rowTitleRange = ReoGrid.RangePosition("A3:A6");
//定义列标题区域
var categoryNamesRange = ReoGrid.RangePosition("B2:F2");

//添加高亮区域
sheet1.AddHighlightRange(rowTitleRange);
sheet1.AddHighlightRange(categoryNamesRange);
sheet1.AddHighlightRange(dataRange);

效果如下:

237

创建柱状图完整实例:

import win.ui;
/*DSG{{*/
var winform = win.form(text="ReoGrid 图表示例")
/*}}*/

import dotNet.ReoGrid;
var grid = ReoGrid.ReoGridControl(winform);
var sheet1 = grid.CurrentWorksheet;

// 在工作表上准备数据源
var sheet1 = grid.CurrentWorksheet;
sheet1["A2"] = [
    [ 2007, 2008, 2009, 2010, 2011, 2012 ],
    [ "城市1", 3, 2, 4, 2, 6 ]
];

//定义数据区域
var dataRange = ReoGrid.RangePosition("B3:F5");
//定义行标题区域
var rowTitleRange = ReoGrid.RangePosition("A3:A6");
//定义列标题区域
var categoryNamesRange = ReoGrid.RangePosition("B2:F2");

//添加高亮区域
sheet1.AddHighlightRange(rowTitleRange);
sheet1.AddHighlightRange(categoryNamesRange);
sheet1.AddHighlightRange(dataRange);

//创建柱状图
var c1 = ReoGrid.Chart.ColumnChart();

c1.Location = grid.Point(220, 160)
c1.Size = grid.Size(400, 260)
c1.Title = "柱状图示例"
c1.DataSource = ReoGrid.Chart.WorksheetChartDataSource(sheet1,rowTitleRange,dataRange)
c1.DataSource.CategoryNameRange = categoryNamesRange

// 添加图表到工作表
sheet1.FloatingObjects.Add(c1); 

winform.show();
win.loopMessage();

最终效果:

236

代码说明

  1. 在 aardio 中可以直接使用表对象 [] 来初始化数据,比 C# 中的 new object[,] 更简洁
  2. 图表创建时使用了命名参数语法,这是 aardio 的特色功能
  3. WorksheetChartDataSource 的初始化使用了 aardio 的对象初始化语法 {...}
  4. 所有 .NET 对象在 aardio 中都可以直接使用,无需额外转换

Markdown 格式