Package hudson.util
Class ChartUtil
java.lang.Object
hudson.util.ChartUtil
Chart generation utility code around JFreeChart.
- Author:
- Kohsuke Kawaguchi
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Can be used as a graph label. -
Field Summary
Modifier and TypeFieldDescriptionstatic boolean
Deprecated.static Throwable
See issue 93.static final double
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic 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.static void
generateClickableMap
(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp, org.jfree.chart.JFreeChart chart, int defaultW, int defaultH) Deprecated.as of 1.320 BindGraph
to the URL space.static void
generateClickableMap
(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp, org.jfree.chart.JFreeChart chart, Area defaultSize) Deprecated.as of 1.320 BindGraph
to the URL space.static void
generateGraph
(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp, org.jfree.chart.JFreeChart chart, int defaultW, int defaultH) Deprecated.as of 1.320 BindGraph
to the URL space.static void
generateGraph
(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp, org.jfree.chart.JFreeChart chart, Area defaultSize) Deprecated.as of 1.320 BindGraph
to the URL space.
-
Field Details
-
awtProblem
Deprecated.UseawtProblemCause!=null
instead. As of 1.267. -
awtProblemCause
See issue 93. Detect an error in X11 and handle it gracefully. -
CHEBYSHEV_N
@Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("2.301") public static final double CHEBYSHEV_N- See Also:
-
-
Constructor Details
-
ChartUtil
public ChartUtil()
-
-
Method Details
-
generateGraph
@Deprecated public static void generateGraph(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp, org.jfree.chart.JFreeChart chart, Area defaultSize) throws IOException Deprecated.as of 1.320 BindGraph
to the URL space. Seehudson.tasks.junit.History
as an example (note that doing so involves a bit of URL structure change.)Generates the graph in PNG format and sends that to the response.- Parameters:
defaultSize
- The size of the picture to be generated. These values can be overridden by the query parameter 'width' and 'height' in the request.- Throws:
IOException
-
generateGraph
@Deprecated public static void generateGraph(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp, org.jfree.chart.JFreeChart chart, int defaultW, int defaultH) throws IOException Deprecated.as of 1.320 BindGraph
to the URL space. Seehudson.tasks.junit.History
as an example (note that doing so involves a bit of URL structure change.)Generates the graph in PNG format and sends that to the response.- Parameters:
defaultW
- The size of the picture to be generated. These values can be overridden by the query parameter 'width' in the request.defaultH
- The size of the picture to be generated. These values can be overridden by the query parameter 'height' in the request.- Throws:
IOException
-
generateClickableMap
@Deprecated public static void generateClickableMap(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp, org.jfree.chart.JFreeChart chart, Area defaultSize) throws IOException Deprecated.as of 1.320 BindGraph
to the URL space. Seehudson.tasks.junit.History
as an example (note that doing so involves a bit of URL structure change.)Generates the clickable map info and sends that to the response.- Throws:
IOException
-
generateClickableMap
@Deprecated public static void generateClickableMap(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp, org.jfree.chart.JFreeChart chart, int defaultW, int defaultH) throws IOException Deprecated.as of 1.320 BindGraph
to the URL space. Seehudson.tasks.junit.History
as an example (note that doing so involves a bit of URL structure change.)Generates the clickable map info and sends that to the response.- Throws:
IOException
-
adjustChebyshev
public 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.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 JENKINS-1246.
-
awtProblemCause!=null
instead.