4

我在尝试管理/绘制 y 轴上的大数字和小数字时遇到了一些困难。

两种 y 轴类型的示例都在这里:http: //jsfiddle.net/index/6FBec/1/

对于第一张图(线性):问题是小数字几乎平铺在底部。

对于第二个图(对数): 在这里(这实际上更好),当大数字变得太大时,下一个刻度的差距很远(graph2 最后一点 12,250 和最大的 y 轴是 100,000)。

问题是,是否有不同的 y 轴类型,或者我怎样才能做类似线性的事情,但是当事情太大时,它会做类似对数的事情,比如先使用较小的间隙然后增长。

PS:不要介意0.1值。对数不想要 0 值的温度。

4

2 回答 2

4

我使用了一些数学方程来减少点之间的差距,并且仍然以图形方式显示相对差异。为此,我处理服务器上的数据,如果一个点与另一个点截然不同,那么我将使用它们的平方根。这里有几个例子可以证明这一点:

数值:220、110、55、5

数值:1100、220、110、55、5

数据以四舍五入到小数点后三位的平方根形式发送。然后我使用 yAxis 标签和工具提示上的格式化程序来显示正确的值。另外,我通过使用确保标签显示为整数parseInt

于 2012-08-21T03:29:25.763 回答
1

我强烈建议坚持线性或对数,因为这些是一种标准,对用户来说是直观的。这两个足以满足大部分可视化需求。您在示例中绘​​制的数据是生产数据吗?这是您的数据将始终如此,还是只是一次性的情况?确定使用哪个轴的最简单方法是找到变化或标准偏差或您的数据,如果它是小的使用线性,如果它的大使用对数(可以根据您的数据调整大小的阈值)。

我想说您在 jsFiddle 中获得的可视化几乎是您应该使用的。

1)线性你看到一个数据点出现了,而其他数据点几乎(与最大的百分比相比)相同的值。所以你应该把它显示为它,这给用户一个提示,表明某些事情是非常错误的。如果您试图使曲线看起来不错,用户将始终必须参考这些值,并且无法仅通过查看图形来做出推断,这就是图表的全部目的。当用户不得不手动查看数据点的值以进行快速推断时,仅仅一个好看的图表没有多大意义。

2)对数当您的数据确实偏斜,但存在数据包/数据簇(不仅仅是一个点是异常值)时,请选择这个。

如果您必须使用其他规模(首先彻底了解您的生产数据,否则您最终会美化您的测试数据并弄乱真实数据)在@Dan Thomas 的答案中使用一些类似的标准,如平方或平方根或最好的方法是尽可能为您的数据获取一个通用的(不是真实的,但理想的数据方式)方程。因此,如果您的数据类似于y=A*x2+ Bx + C,则选择平方,如果它的形式y=A*x + B为线性,则y=A*log+(x)+B选择对数等等

更多 @ http://www.forbes.com/sites/naomirobbins/2012/01/19/when-should-i-use-logarithmic-scales-in-my-charts-and-graphs/

于 2012-08-21T05:30:16.800 回答