Highcharts: Other settings for the y axis. Work with large numbers

I am having difficulty trying to control / build large numbers along the y axis in combination with small numbers.

An example here is for both types of y axis: http://jsfiddle.net/index/6FBec/1/

For the first graph (linear): the problem is that small numbers are drawn almost flat at the bottom.

For the second graph (logarithmic): where, as here (this is actually better), when a large number gets too large, the space for the next tick is far (graph 2 of the last point is 12 250 and the largest y axis is 100 000).

The question is, is there a different type of y axis, or how can I do something like linear, but when there is something too big, it will do something like logarithmic, for example, using shorter intervals, and then increase.

PS: Do not pay attention to the value of 0.1. Temp for logarithmic values โ€‹โ€‹that do not require 0 values.

+4
source share
2 answers

I used some mathematical equations to reduce the gaps between the points and still demonstrates the relative difference graphically. To do this, I process the data on the server, and if the point is very different from the other, then I will use the square root of both of them. Here are a few examples to demonstrate this:

VALUES: 220, 110, 55, 5

VALUES: 1100, 220, 110, 55, 5

Data is sent as the square root, rounded to the third decimal place. Then I use the formatter on the yAxis shortcut and tooltip to display the correct values. Also, I'm sure the label is displayed as an integer using parseInt .

+3
source

I would strongly recommend sticking to either linear or logarithmic, as these are kind of standards and will be intuitive to the user. These two are enough for most visualization needs. The data that you draw in your example is production data? Is this how your data will always or just be disposable? The easiest way to determine which axis to use is to find the variation or standard deviation or your data if it is not used linearly, if its logarithmic use is large (the threshold small and large can be changed based on your data).

I would say that the visualizations you got in jsFiddle are pretty much used by you .

1) Linear You see that one data point crashes and the other almost (compared to the largest%) of the same value. Therefore, you should really show it like this, it gives the user a hint that something is terribly wrong. If you try to make the curve beautiful, the user will always refer to the values โ€‹โ€‹and will not be able to draw conclusions, just by looking at the graph, this is the whole purpose of the diagrams. This does not make much sense only for a good graph, when the user will have to deal with the problem of manually searching for data point values โ€‹โ€‹in order to draw quick conclusions.

2) Logarithmic When your data is really distorted, but there are pockets / clusters of data (and not just one point is an ejection), go for it.

If you need to use some other scale (first read your production data, otherwise you end up exaggerating your test data and ruining the real data) use some similar standard like square or square root in @Dan Thomas answer or the best way, if possible, is to get a general (not real, but ideal way your data will be) equation for your data. Therefore, if your data is similar to y=A*x 2 + Bx + C , go to the square if it has the form y=A*x + B go for linear, if y=A*log+(x)+B go for logarithmic etc.

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

+1
source

All Articles