public class Utils extends Object
StackedAreaRenderer2,
DataSetBuilder,
ShiftedCategoryAxis| Modifier and Type | Field and Description |
|---|---|
static double |
CHEBYSHEV_N |
| Constructor and Description |
|---|
Utils() |
| Modifier and Type | Method and Description |
|---|---|
static void |
adjustChebyshev(org.jfree.data.category.CategoryDataset dataset,
org.jfree.chart.axis.NumberAxis yAxis)
Adjusts the Y-axis so that abnormally large value won't spoil the whole chart
by making everything look virtually 0.
|
public static void adjustChebyshev(org.jfree.data.category.CategoryDataset dataset,
org.jfree.chart.axis.NumberAxis yAxis)
The algorithm is based on Chebyshev's inequality, which states that given any number sequence, nore more than 1/(N^2) values are more than N x stddev away from the average.
So the algorithm is to set Y-axis range so that we can see all data points that are within N x stddev of the average. Most of the time, Cebyshev's inequality is very conservative, so it shouldn't do much harm.
When the algorithm does kick in, however, we can kick out at most 1 in N^2 data points. (So for example if N=3 then we can "fix" the graph as long as we only have less than 1/(3*3)=11.111...% bad data.
Also see issue #1246.
Copyright © 2004-2013 Hudson. All Rights Reserved.