我在尝试管理/绘制y轴上的大数字以及小数字时遇到了一些困难。
这两个y轴类型都有示例:http://jsfiddle.net/index/6FBec/1/
对于第一个图表(线性):问题是小数字在底部几乎是平坦的。
对于第二个图形(对数):在这里(这实际上更好),当大数量变得太大时,下一个刻度的间隙是远的(graph2最后一点12,250,最大y轴是100,000 )。
问题是,是否存在不同的y轴类型或者我如何做一些像线性的东西但是当有太大的东西时它会做像对数这样的事情,比如先使用较小的间隙然后再增长。
PS:不介意0.1值。对数的温度不需要0值。
答案 0 :(得分:4)
我已经使用了一些数学方程来减少点之间的间隙,并且仍然以图形方式显示相对差异。为此,我处理服务器上的数据,如果一个点与另一个点完全不同,那么我将使用它们的平方根。以下是一些证明这一点的例子:
价值观:220,110,55,5
价值观:1100,220,110,55,5
数据以平方根舍入到第三个小数。然后我使用yAxis标签和工具提示上的格式化程序来显示正确的值。此外,我确保使用parseInt
将标签显示为整数。
答案 1 :(得分:1)
我强烈建议坚持线性或对数,因为这些是标准,对用户来说是直观的。这两个足以满足大多数可视化需求。您在示例中绘制的数据是生产数据吗?这是您的数据总是如何,或只是一次性的情况?确定使用哪个轴的最简单方法是查找变量或标准偏差或您的数据,如果它很小则使用线性,如果它使用大对数(可以根据您的数据调整小和大的阈值)。
我想说你在jsFiddle中获得的可视化几乎就是你应该使用的。
1)线性您会看到一个数据点被拍摄出来,而其他数据点几乎(与最大的%相比)相同的值。因此,你应该非常清楚地表明它,这给用户提供了一些非常错误的提示。如果你试图使曲线看起来 nice ,那么用户将始终必须参考这些值,并且仅通过查看图表就无法做出推断,这就是图表的全部目的。当用户不得不手动查看数据点的值以进行快速推断时,只需要一个好看的图就没有多大意义。
2)对数当你的数据确实存在偏差时,还有一些口袋/数据集(不只是一个点是异常值),请选择这个。
如果您必须使用其他规模(首先要全面了解您的生产数据,否则您将最终美化您的测试数据并弄乱实际数据)使用类似的标准,如@Dan Thomas的答案或最佳方法是,如果可能的话,为您的数据获得通用(不是真实的,但理想的数据方式)等式。因此,如果您的数据类似于y=A*x
2 + Bx + C
,请选择平方,如果格式为y=A*x + B
则为线性,如果y=A*log+(x)+B
去对数等等