转至元数据结尾
转至元数据起始

轴分组指的是尽可能地将轴标签分组,以提高可读性和不同级别的数据分析。大致而言,可以根据轴分组功能实现的三种类型的数据分组:类别,数字和DateTime格式。

FlexChart中,所有这三种实现都可以使用下面各节中讨论的方法来完成。FlexChart还提供Axis类的GroupSeparator属性,该属性使您可以显示组分隔符,以实现组的清晰和清晰的划分。此外,您可以通过设置GroupVisibilityLevel属性来允许用户扩展或折叠这些组,该属性接受一个整数值并限制可见的可折叠组的级别。您还可以使用GroupStyle属性设置组的样式。

类别轴分组

顾名思义,这种类型的分组是在数据本质可以分类,不管是平面或分层的。例如,在显示国家/地区数据时,您还可以按大洲分组国家/地区,并分析每个大洲的数据。另一个很好的例子是分析按月的数据,可以将其分为几个季度,以促进季度分析。

FlexChart提供  GroupNames属性,以在分类轴上实现分组。如果是分层数据,则还需要指定  GroupItemsPath属性以建立父子关系。


CS
//定义要对哪个字段分组AxisX
flexChart1.AxisX.GroupNames = "Continent";

// 定义AxisX的组分隔线应如何显示
this.flexChart1.AxisX.GroupSeparator = AxisGroupSeparator.Vertical;

//定义是否使组可折叠和折叠到那个级别
this.flexChart1.AxisX.GroupVisibilityLevel = -1;


数值轴分组

数字轴分组是为了将数字数据分组为用户可以轻松关联的类别或范围。例如,将Y轴上绘制的温度数据分为低,中和高范围更为有用。要在FlexChart中的数字类型轴上实现分组,您需要创建IAxisGroupProvider接口的实例  并将其分配给  GroupProvider属性。该接口还提供  GetLevels和  GetRanges方法,它们分别返回组级别的数字和给定级别的范围值列表。


CS
//使用自定义GroupProvider定义用于创建AxisY组的逻辑,
this.flexChart1.AxisY.GroupProvider = new MyGroupProvider();

// 为此,定义AxisY的组分隔线应如何显示
this.flexChart1.AxisY.GroupSeparator = AxisGroupSeparator.Grid;


DateTime轴分组

DateTime类型数据可以分为天,周,月,季度或 年,因此DateTime类型轴也可以按照所有这些方式进行分组。例如,以下示例将在X轴上绘制的按日期排序的数据分为几周,然后进一步分为了几个月。为了在FlexChart中的DateTime轴上实现分组,您需要将GroupProvider属性设置为DateTimeGroupProvider类的对象  。您还需要通过使用此类的GroupTypes属性指定要添加的组的类型(以  TimeUnits的形式)  。该DateTimeGroupProvider类还提供了  GetLevels和  GetRanges 分别返回组级别数和给定级别的范围值列表的方法。


CS
//创建DateTimeGroupProvider的新实例
var dtGrpProvider = new DateTimeGroupProvider();
           
//按照时间单位添加组
dtGrpProvider.GroupTypes.Add(TimeUnits.Week);
dtGrpProvider.GroupTypes.Add(TimeUnits.Month);
            
//为DateTimeGroupProvider对象分配
this.flexChart1.AxisX.GroupProvider = dtGrpProvider; 
            
// 定义AxisX的组分隔线的显示方式
this.flexChart1.AxisX.GroupSeparator = AxisGroupSeparator.Horizontal;    
        


  • 无标签