本文档阐述了如何限制轴坐标的可视范围,因而限制关联系列所呈现的数据量。 在阅读这些信息之前,可能需要回顾在 XtraCharts 中使用 轴 的基础知识。
使用 XtraCharts,可以以两种方式来限制轴坐标的范围: 通过限制轴的 可视范围; 也可以启用图象的 滚动 功能。 滚动条出现后,用户可以使用滚动条来访问当前屏幕以外的数据。 第二种方式类似于对表示最远取值的 滚动范围 进行限制,限制为可以滚动轴的范围。
注意 |
---|
几乎可以为所有现有的 图象类型 指定轴的可视范围,除去 简单图象 和 三维简单图象 以外,因为它们没有同样的轴。 与滚动范围一样,也不能调整 雷达和极坐标图象 和 三维 XY-图象 的可视范围。 出于简化目的,并且由于 XY-图象 是最普遍的图象类型,因此在本文档中使用 XY-图象来演示此项功能。 |
本文档由下列小节组成。
可视范围
可视范围 确定 轴 的取值,这些取值将限定轴的可视范围,并且因此限定与轴相关联的 系列 的可视范围。
通过 AxisRange.MaxValue 和 AxisRange.MinValue 属性值来定义轴的可视范围,这两个属性是自动计算的,因为在默认情况下启用了轴的 AxisRange.Auto 属性。 但是,可以根据需要来定制这些属性。
注意 |
---|
要禁用 AxisRange.Auto 属性 (设置为 false),则为 AxisRange.MaxValue 或 AxisRange.MinValue 属性指定任意取值。 重新启用 AxisRange.Auto 属性 (重新把取值设置为 true),则 AxisRange.MaxValue 和 AxisRange.MinValue 属性都会被重置。 |
下面的插图展示了当 AxisRange.Auto 属性值被设置为 true时,轴范围的可用选项以及图表的外观。
同时,下面的插图展示了相同的图表,但是 AxisRange.Auto 属性值被设置为 false,并且人工指定了 AxisRange.MaxValue 和 AxisRange.MinValue 属性。
当为轴使用了 性质 和 日期时间 刻度类型 (在 轴的刻度类型 主题中有更多相关信息) 时,XtraCharts 在内部重新计算范围界限的最大值和最小值,并存储为浮点数值。 可以通过 AxisRange.MinValueInternal 和 AxisRange.MaxValueInternal 属性使用这些浮点表示形式。 举例来说,当需要以 (比实际的点取值) 更精确的取值来限制轴范围时,就可以使用这些属性。 下面的插图展示了这些属性的作用。
修改 AxisRange.MinValueInternal (AxisRange.MaxValueInternal) 属性,在采用性质和日期时间刻度类型的情况下,会导致 AxisRange.MinValue (AxisRange.MaxValue) 属性被设置为 null 值。
注意 |
---|
尽管 AxisRange.MinValueInternal 和 AxisRange.MaxValueInternal 属性被设计用于调整范围的精确性,但是当 AxisRange.SideMarginsEnabled 属性被设置为 true 时,就不可能实现最顶级的精确性。 在这种情况下,不可能精准地确定轴的实际的最小值和最大值,原因是边距跨度是不明确的。 |
另外,还可以确定在由轴范围指定的轴两端取值之前和之后是否保留边距。 以这种方式,可以避免把关联系列的最外边的点,放置到图象的边缘上。 要完成此任务,则把 AxisRange.SideMarginsEnabled 属性设置为 true,如同下面的插图所展示的那样。
SideMarginsEnabled = false (X-轴) |
SideMarginsEnabled = true (X-轴) |
---|---|
在默认情况下,面积 视图类型的系列的 AxisRange.SideMarginsEnabled 属性被禁用 (这些视图类型包括 面积图、堆积面积图 和 百分比堆积面积图) 。
如果指定的范围小于系列点的实际数据值,那么在图象中就不包含图表系列的部分 (或全部) 内容,如下图所示。
如果这样不能符合要求,那么就需要通过把 XYDiagram2D.EnableScrolling 属性设置为 true,从而允许滚动图表的图象。 关于滚动功能的更详细的信息,在本文档的下一小节进行了说明。
滚动范围
在启用图象的 XYDiagram2D.EnableAxisXScrolling 和/或 XYDiagram2D.EnableAxisYScrolling 属性、并且窗格的对应属性 (XYDiagramPaneBase.EnableAxisXScrolling 和/或 XYDiagramPaneBase.EnableAxisYScrolling) 被设置为默认值之后,对于轴范围不能容纳所有关联系列点的轴,沿这些轴就会出现一个滚动条。
然后,就可以定制 滚动范围 选项,这些选项类似于轴的范围选项。 通过 AxisRange.ScrollingRange 属性来指定这些选项。
滚动范围确定 轴 上的取值,该取值限定了滚动范围,并且因此限定与轴相关联的 系列 的整体可视范围。
通常,滚动范围是被自动确定的,因为在默认情况下启用了 ScrollingRange.Auto 属性。 自动计算的滚动范围完全能适应轴的范围,因此通常不需要人工调整。 但是,可能需要依靠滚动范围选项,全面限制在图表图象中显示的数据。
就像轴的范围那样,在把自定义取值指派给 ScrollingRange.MinValue 或 ScrollingRange.MaxValue 属性之后,ScrollingRange.Auto 属性立即被禁用 (设置为 false)。 此外,当重新启用 ScrollingRange.Auto 属性 (重新把取值设置为 true) 时,将导致 ScrollingRange.MaxValue 和 ScrollingRange.MinValue 属性被重置。
大体上,ScrollingRange.SideMarginsEnabled 属性的目标和行为都类似于 AxisRange.SideMarginsEnabled 属性的特征,唯一的差别是它们影响的环境不同。
当为轴使用 性质 和 日期时间 刻度类型 (在 轴的刻度类型 主题中有更多相关信息) 时,XtraCharts 在内部重新计算滚动范围的最大值和最小值,并存储为浮点数值。 可以通过 ScrollingRange.MinValueInternal 和 ScrollingRange.MaxValueInternal 属性使用这些浮点表示形式。 举例来说,当需要以 (比实际的点取值) 更精确的取值来限制滚动范围时,就可以使用这些属性。 下面的插图展示了这些属性的作用。
注意 |
---|
尽管 ScrollingRange.MinValueInternal 和 ScrollingRange.MaxValueInternal 属性被设计用于调整范围的精确性,但是当 ScrollingRange.SideMarginsEnabled 属性被设置为 true 时,就不可能实现最顶级的精确性。 在这种情况下,不可能精准地确定轴的实际的最小值和最大值,原因是边距跨度是不明确的。 |
另外,还可以全面定制沿可滚动轴出现的滚动条的外观 —— 颜色、尺寸和对齐方式。 要学习更多相关内容,请参阅 窗格的外观。