From d7822de16cab25ff887a68bbce6eecededa6590f Mon Sep 17 00:00:00 2001 From: Leonard Kupper <leonard.kupper@mailbox.tu-dresden.de> Date: Sat, 14 Sep 2019 13:47:58 +0200 Subject: [PATCH] Add diagram class for title and axis captions. --- .../de/tudresden/inf/mci/brailleplot/App.java | 3 + .../mci/brailleplot/diagrams/BarChart.java | 3 +- .../inf/mci/brailleplot/diagrams/Diagram.java | 95 +++++++++++++++++++ 3 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 src/main/java/de/tudresden/inf/mci/brailleplot/diagrams/Diagram.java diff --git a/src/main/java/de/tudresden/inf/mci/brailleplot/App.java b/src/main/java/de/tudresden/inf/mci/brailleplot/App.java index 5f071a80..9074a22d 100644 --- a/src/main/java/de/tudresden/inf/mci/brailleplot/App.java +++ b/src/main/java/de/tudresden/inf/mci/brailleplot/App.java @@ -189,6 +189,9 @@ public final class App { CategoricalPointListContainer<PointList> container = csvParser.parse(CsvType.X_ALIGNED_CATEGORIES, CsvOrientation.VERTICAL); mLogger.debug("Internal data representation:\n {}", container.toString()); CategoricalBarChart barChart = new CategoricalBarChart(container); + barChart.setTitle("Beispieldiagramm"); + barChart.setXAxisName("Gewicht in kg"); + barChart.setYAxisName("Länge in m"); // Render diagram MasterRenderer renderer = new MasterRenderer(indexV4Printer, a4Format); diff --git a/src/main/java/de/tudresden/inf/mci/brailleplot/diagrams/BarChart.java b/src/main/java/de/tudresden/inf/mci/brailleplot/diagrams/BarChart.java index ee769a1b..3d138a9a 100644 --- a/src/main/java/de/tudresden/inf/mci/brailleplot/diagrams/BarChart.java +++ b/src/main/java/de/tudresden/inf/mci/brailleplot/diagrams/BarChart.java @@ -4,7 +4,6 @@ import de.tudresden.inf.mci.brailleplot.datacontainers.Named; import de.tudresden.inf.mci.brailleplot.datacontainers.PointContainer; import de.tudresden.inf.mci.brailleplot.datacontainers.PointList; import de.tudresden.inf.mci.brailleplot.datacontainers.PointListContainer; -import de.tudresden.inf.mci.brailleplot.rendering.Renderable; import java.util.List; import java.util.Objects; @@ -15,7 +14,7 @@ import java.util.stream.Collectors; * @author Richard Schmidt, Georg Graßnick * @version 2019.09.02 */ -public class BarChart implements Renderable { +public class BarChart extends Diagram { private PointListContainer<PointList> mData; public BarChart(final PointListContainer<PointList> data) { diff --git a/src/main/java/de/tudresden/inf/mci/brailleplot/diagrams/Diagram.java b/src/main/java/de/tudresden/inf/mci/brailleplot/diagrams/Diagram.java new file mode 100644 index 00000000..6d62f713 --- /dev/null +++ b/src/main/java/de/tudresden/inf/mci/brailleplot/diagrams/Diagram.java @@ -0,0 +1,95 @@ +package de.tudresden.inf.mci.brailleplot.diagrams; + +import de.tudresden.inf.mci.brailleplot.rendering.Renderable; + +import java.util.Objects; + +/** + * General representation of both scatter and line plots with basic data functions. Classes LinePlot and ScatterPlot extend this class. + * Implements Renderable. + * + * @author Richard Schmidt, Leonard Kupper + * @version 2019-09-12 + */ +public class Diagram implements Renderable { + + private String mTitle; + private String mXAxisName; + private String mYAxisName; + + public final String getTitle() { + return mTitle; + } + + public final void setTitle(final String title) { + this.mTitle = Objects.requireNonNull(title); + } + + public final String getXAxisName() { + return mXAxisName; + } + + public final void setXAxisName(final String xAxisName) { + this.mXAxisName = Objects.requireNonNull(xAxisName); + } + + public final String getYAxisName() { + return mYAxisName; + } + + public final void setYAxisName(final String yAxisName) { + this.mYAxisName = Objects.requireNonNull(yAxisName); + } + +// public PointListList mP; +// +// /** +// * Getter for the minimum x-value. +// * @return double minimum x-value +// */ +// public double getMinX() { +// return mP.getMinX(); +// } +// +// /** +// * Getter for the maximum x-value. +// * @return double maximum x-value +// */ +// public double getMaxX() { +// return mP.getMaxX(); +// } +// +// /** +// * Getter for the minimum y-value. +// * @return double minimum y-value +// */ +// public double getMinY() { +// return mP.getMinY(); +// } +// +// /** +// * Getter for the maximum y-value. +// * @return double maximum y-value +// */ +// public double getMaxY() { +// return mP.getMaxY(); +// } +// +// /** +// * Getter for a data set by index. +// * @param index int +// * @return PointList with the corresponding data set +// */ +// public PointListList.PointList getDataSet(final int index) { +// return (PointListList.PointList) mP.get(index); +// } +// +// /** +// * Getter for the name of a data set by index. +// * @param index int +// * @return name of the data set as a string +// */ +// public String getDataSetName(final int index) { +// return mP.get(index).getName(); +// } +} -- GitLab