diff --git a/pdb-plotting/src/main/java/org/lucares/recommind/logs/GnuplotSettings.java b/pdb-plotting/src/main/java/org/lucares/recommind/logs/GnuplotSettings.java index 9a6130c..57929ea 100644 --- a/pdb-plotting/src/main/java/org/lucares/recommind/logs/GnuplotSettings.java +++ b/pdb-plotting/src/main/java/org/lucares/recommind/logs/GnuplotSettings.java @@ -10,23 +10,23 @@ public class GnuplotSettings { private int width = 1600; private String timefmt = "%Y-%m-%dT%H:%M:%S"; - // set format x "%m-%d\n%H:%M" + // set format for x-axis private String formatX = "%Y-%m-%d %H:%M:%S"; - // set datafile separator "," + // set datafile separator private String datafileSeparator = ","; - // set xlabel "Time" + // set xlabel private String xlabel = "Time"; - // set ylabel "Traffic" + // set ylabel private String ylabel = "Duration in ms"; // set output "datausage.png" private final Path output; - // set xtics rotate by 80 - private int rotateXAxisLabel = -80; + // set xtics rotate by 10 degree + private int rotateXAxisLabel = -10; private AxisScale yAxisScale; public GnuplotSettings(final Path output) { diff --git a/pdb-plotting/src/main/java/org/lucares/recommind/logs/Plotter.java b/pdb-plotting/src/main/java/org/lucares/recommind/logs/Plotter.java index 745874a..46a157c 100644 --- a/pdb-plotting/src/main/java/org/lucares/recommind/logs/Plotter.java +++ b/pdb-plotting/src/main/java/org/lucares/recommind/logs/Plotter.java @@ -109,7 +109,8 @@ public class Plotter { final GnuplotSettings gnuplotSettings = new GnuplotSettings(outputFile); gnuplotSettings.setHeight(height); gnuplotSettings.setWidth(width); - gnuplotSettings.setFormatX(getFormatX(minDate, maxDate)); + defineXAxis(gnuplotSettings, minDate, maxDate); + gnuplotSettings.setYAxisScale(plotSettings.getYAxisScale()); gnuplot.plot(gnuplotSettings, dataSeries); @@ -125,20 +126,29 @@ public class Plotter { } } + private void defineXAxis(final GnuplotSettings gnuplotSettings, final OffsetDateTime minDate, + final OffsetDateTime maxDate) { + + String formatX; + int rotateX; + if (minDate.until(maxDate, ChronoUnit.WEEKS) > 1) { + formatX = "%Y-%m-%d"; + rotateX = 0; + } else { + + formatX = "%Y-%m-%d %H:%M:%S"; + rotateX = gnuplotSettings.getRotateXAxisLabel(); + } + + gnuplotSettings.setFormatX(formatX); + gnuplotSettings.setRotateXAxisLabel(rotateX); + } + private String uniqueDirectoryName() { return OffsetDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd_HH_mm_ss")) + "_" + UUID.randomUUID().toString(); } - private String getFormatX(final OffsetDateTime minDate, final OffsetDateTime maxDate) { - - if (minDate.until(maxDate, ChronoUnit.WEEKS) > 1) { - return "%Y-%m-%d"; - } - - return "%Y-%m-%d %H:%M:%S"; - } - private void sortAndLimit(final List dataSeries, final PlotSettings plotSettings) { final Limit limitBy = plotSettings.getLimitBy();