轴对数比例

当显示有很大规模差异的数据或者希望在同样表格上的数据有指数的变化,通常在一个或多个轴上使用对数比例就能非常方便地实现.在一个对数的轴上,同等距离意味着同等百分数的变化.每个轴都可以设定为指数比例通过设定IsLogarithmic属性为True.如果对数比例运用于一个或两个轴,图表就被称为Log Scale(对数比例)图表.

使用对数比例,值被根据值的对数物理性地分隔而不是根据值本身.这对给很大范围的大数据量的数据做图表,以及希望描述几何和/或者指数的关系的图表时非常有用的.

不像算术图表改变是以直接的单位为单位计算的,log scale(对数比例)图表以百分数的变化为单位显示的.例如,在一个对数比例图表测量美元,从$1 到 $2的变化是一个百分率100的变化因此图表轴上$1 到 $2的距离和$50 到$100的距离相同.然而在一个算术的图表中,$50 到$100的变化从轴上$50 移到$100的距离会大得多因为$50的变化和$1变化是完全不同的.

通常使用的对数

对数可以使用任何基本值表达,包括数字和浮点值.两个最常使用对数的类型包括:

对数底

当IsLogarithmic数学设定为真,你可以使用LogarithmicBase属性定义对数底数.默认值是10.如果希望自然对数比例,设定LogarithmicBase为小于或等于1的值.如果值是1那么1的自然对数是0,因为e0 = 1..一个自然对数是底数是e的对数.注意对数比例当值等于或小于零的时候是没有数学意义的.因此当轴的IsLogarithmic属性设定为真,负值和零值是不画到轴上的.

下图表示出了LogarithmicBase设定为默认值10也就是通常的对数时图表是如何表示的

可用示例

关于如何在C1Chart中使用对数比例的完整示例,参照实例LogPlots, 位置在http://helpcentral.componentone.com/Samples.aspx

对数比例对轴上注释的输出

如果有下面的情况下,任何C1Chart的对数底都需要做格式化工作:

那么轴上的注释表示为power10,“power” 是上标.

对数比例使用的准则

下面的补充准则是对数轴必须遵守的:

UnitMajor 和对数轴

对于对数轴比例,UnitMajor被作为每个循环基础值的乘数,并提供一个提示作为对数底每个循环中注释的间隔。那就是(UnitMajor*基础循环的值)是大约每个循环注释的值的增量。对于数字对数基础值,这个结果通常是准确的。对于浮点值,对线性比例近似到比较准确的数字。

UnitMajor 和对数轴的详细说明

通常,当使用对数比例,一个图表轴的边界会跨越几个对数底循环。在这种情况下,通常对UnitMajor的线性规范就不再有意义了,因为对一个循环合适的值对上一个或下一个循环是没有意义的。UnitMajor要设定为的值必须适合对数底的每个循环。

如果你不明白,想一下下面的轴你要用什么单个的,固定的,增量的值。

基于上面的原因,对于对数轴,图表假设UnitMajor定义了每个循环基础值的小数部分。如下例:

在每个例子中,基础循环的值是1,每个循环的下一个注释值=前面的数+(循环的基础值* UnitMajor). UnitMajor的最大值是LogarithmicBase。UnitMajor自动的值永远是LogarithmicBase.

当所有的注释的值计算出来后,一个好的舍入算法就提供出来了,数据很易读。行为也许看起来有些古怪,但是它的结果适合任何的对数底同时给注释获取数字,这样阅读就合理了。

例如,上面的图示对数底为10,但是也有自然对数需要考虑,例如对数底2,对数底X等等。