|
8 | 8 | import static Graphics2D.Graphics2D.Graphics2D.*;
|
9 | 9 | import static Plots.Arrays.Arrays.*;
|
10 | 10 | import static Plots.Math.Math.*;
|
| 11 | +import static Plots.Plots.Plots.ComputeBoundariesBasedOnSettings; |
11 | 12 | import static Plots.Rectangles.Rectangles.*;
|
12 | 13 | import static Plots.TextDrawing.TextDrawing.*;
|
13 | 14 | import static java.lang.Math.*;
|
@@ -285,13 +286,55 @@ public static double MapXCoordinate(double x, double xMin, double xMax, double x
|
285 | 286 | }
|
286 | 287 |
|
287 | 288 | public static double MapXCoordinateAutoSettings(double x, RGBABitmapImage image, double[] xs) {
|
288 |
| - return MapXCoordinate(x, GetMinimum(xs), GetMaximum(xs) - GetMinimum(xs), GetDefaultPaddingPercentage() * ImageWidth(image), (1d - GetDefaultPaddingPercentage()) * ImageWidth(image)); |
| 289 | + return MapXCoordinate(x, GetMinimum(xs), GetMaximum(xs), GetDefaultPaddingPercentage() * ImageWidth(image), (1d - GetDefaultPaddingPercentage()) * ImageWidth(image)); |
289 | 290 | }
|
290 | 291 |
|
291 | 292 | public static double MapYCoordinateAutoSettings(double y, RGBABitmapImage image, double[] ys) {
|
292 | 293 | return MapYCoordinate(y, GetMinimum(ys), GetMaximum(ys), GetDefaultPaddingPercentage() * ImageHeight(image), (1d - GetDefaultPaddingPercentage())*ImageHeight(image));
|
293 | 294 | }
|
294 | 295 |
|
| 296 | + public static double MapXCoordinateBasedOnSettings(double x, ScatterPlotSettings settings) { |
| 297 | + double xMin, xMax, xPadding, xPixelMin, xPixelMax; |
| 298 | + Rectangle boundaries; |
| 299 | + |
| 300 | + boundaries = new Rectangle(); |
| 301 | + ComputeBoundariesBasedOnSettings(settings, boundaries); |
| 302 | + xMin = boundaries.x1; |
| 303 | + xMax = boundaries.x2; |
| 304 | + |
| 305 | + if(settings.autoPadding) { |
| 306 | + xPadding = floor(GetDefaultPaddingPercentage() * settings.width); |
| 307 | + }else{ |
| 308 | + xPadding = settings.xPadding; |
| 309 | + } |
| 310 | + |
| 311 | + xPixelMin = xPadding; |
| 312 | + xPixelMax = settings.width - xPadding; |
| 313 | + |
| 314 | + return MapXCoordinate(x, xMin, xMax, xPixelMin, xPixelMax); |
| 315 | + } |
| 316 | + |
| 317 | + public static double MapYCoordinateBasedOnSettings(double y, ScatterPlotSettings settings) { |
| 318 | + double yMin, yMax, yPadding, yPixelMin, yPixelMax; |
| 319 | + Rectangle boundaries; |
| 320 | + |
| 321 | + boundaries = new Rectangle(); |
| 322 | + ComputeBoundariesBasedOnSettings(settings, boundaries); |
| 323 | + yMin = boundaries.y1; |
| 324 | + yMax = boundaries.y2; |
| 325 | + |
| 326 | + if(settings.autoPadding) { |
| 327 | + yPadding = floor(GetDefaultPaddingPercentage() * settings.height); |
| 328 | + }else{ |
| 329 | + yPadding = settings.yPadding; |
| 330 | + } |
| 331 | + |
| 332 | + yPixelMin = yPadding; |
| 333 | + yPixelMax = settings.height - yPadding; |
| 334 | + |
| 335 | + return MapYCoordinate(y, yMin, yMax, yPixelMin, yPixelMax); |
| 336 | + } |
| 337 | + |
295 | 338 | public static double GetDefaultPaddingPercentage() {
|
296 | 339 | return 0.10d;
|
297 | 340 | }
|
|
0 commit comments