highcharts:y轴的其他设置。处理大量数据

highcharts:y轴的其他设置。处理大量数据,highcharts,logarithm,Highcharts,Logarithm,我在尝试管理/绘制y轴上的大数字和小数字时遇到了一些困难 以下是两种y轴类型的示例: 对于第一个图形(线性):问题在于小数字几乎平铺在底部 对于第二个图形(对数):这里(实际上更好),当大的数字变得太大时,下一个刻度的间距就远了(图2最后一点12250,最大的y轴是100000) 问题是,是否有一个不同的y轴类型,或者我如何做一些类似线性的事情,但当有太大的事情时,它会做一些类似对数的事情,比如先使用较小的间隙,然后再增长 PS:不要介意0.1的值。对数温度不需要0值。我使用了一些数学方程来减少

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

以下是两种y轴类型的示例:

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

对于第二个图形(对数):这里(实际上更好),当大的数字变得太大时,下一个刻度的间距就远了(图2最后一点12250,最大的y轴是100000)

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


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

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

值:220、110、55、5

值:1100、220、110、55、5


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

确保标签显示为一个整数,我强烈建议坚持线性或对数,因为这是一种标准,对用户来说是直观的。这两种方法足以满足大多数可视化需求。您在示例中绘制的数据是生产数据吗?您的数据将一直是这样,还是只是一个一次性的案例?确定要使用哪个轴的最简单方法是查找变量或标准偏差或数据,如果是小的,则使用线性,如果是大的,则使用对数(可以根据数据调整大小阈值)

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

1) 线性您会看到一个数据点突然出现,而其他数据点几乎(与最大的数据点相比)具有相同的值。因此,您应该非常真实地显示它,这给了用户一个提示,有些地方出了严重的问题。如果你试图让曲线看起来很漂亮,用户将总是必须参考这些值,而不能仅仅通过查看图表进行推断,这就是图表的全部目的。当用户需要手动查看数据点的值以进行快速推断时,仅仅使用一个好看的图形没有多大意义

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

如果您必须使用其他尺度(首先要彻底了解您的生产数据,否则您将美化您的测试数据并弄乱真实数据),请使用类似的标准,如@Dan Thomas的答案中的平方根或平方根,或者最好的方法是,如果可能的话,获得一个通用的(不是真实的,而是理想的数据方式)你的数据方程。因此,如果你的数据像
y=A*x
2
+Bx+C
,则取平方,如果它的形式是
y=A*x+B
则取线性,如果
y=A*log+(x)+B
则取对数,依此类推


更多@

这太好了!我会尝试一下并给出反馈。谢谢这看起来对缩小差距非常有效。我还在考虑其他问题,但首先要回答第一个问题,这是我们生产数据的样本。我们有不同的视图,这只发生在某些视图上(主要是在查看所有数据时)。因此,答案并不总是这样。好吧,记住这个建议,不要为了美化而扭曲数据,以至于可视化失去了它的视觉线索,观众需要挖掘价值观