package name.abuchen.portfolio.ui.util.chart; import org.swtchart.Chart; import org.swtchart.IAxis; import org.swtchart.Range; public final class ChartUtil { public static void addMargins(Chart chart, double zoomRatio) { for (IAxis axis : chart.getAxisSet().getAxes()) addMargin(axis, zoomRatio); } public static void addYMargins(Chart chart, double zoomRatio) { for (IAxis axis : chart.getAxisSet().getYAxes()) addMargin(axis, zoomRatio); } public static void addMargin(IAxis axis, double zoomRatio) { Range range = axis.getRange(); double midPoint = ((range.upper - range.lower) / 2) + range.lower; double lower = (range.lower - 2 * zoomRatio * midPoint) / (1 - 2 * zoomRatio); double upper = (range.upper - 2 * zoomRatio * midPoint) / (1 - 2 * zoomRatio); axis.setRange(new Range(lower, upper)); } }