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 92824ced538eafa1423c8c25c6299d088595d81b..c3c7385265447ae14842d8e270f71c2f80522946 100644 --- a/src/main/java/de/tudresden/inf/mci/brailleplot/App.java +++ b/src/main/java/de/tudresden/inf/mci/brailleplot/App.java @@ -151,13 +151,12 @@ public final class App { // Parse csv data ClassLoader classloader = Thread.currentThread().getContextClassLoader(); - InputStream csvStream = classloader.getResourceAsStream("examples/csv/0_bar_chart_categorical.csv"); + InputStream csvStream = classloader.getResourceAsStream("examples/csv/0_bar_chart_vertical.csv"); Reader csvReader = new BufferedReader(new InputStreamReader(csvStream)); CsvParser csvParser = new CsvParser(csvReader, ',', '\"'); - PointListContainer<PointList> container = csvParser.parse(CsvType.X_ALIGNED_CATEGORIES, CsvOrientation.VERTICAL); + PointListContainer<PointList> container = csvParser.parse(CsvType.X_ALIGNED_CATEGORIES, CsvOrientation.HORIZONTAL); System.out.print("mCscData: " + csvParser.mCsvData + "\n"); - System.out.print("container: " + container + "\n" + "fertig"); mLogger.debug("Internal data representation:\n {}", container.toString()); BarChart barChart = new BarChart(container); System.out.print("names: " + barChart.getCategoryNames() + "\n"); diff --git a/src/main/java/de/tudresden/inf/mci/brailleplot/csvparser/CsvXAlignedCategoriesParser.java b/src/main/java/de/tudresden/inf/mci/brailleplot/csvparser/CsvXAlignedCategoriesParser.java index aaa077bb2de8f14dc8853b624d4c50166b5ca489..79eb0f7896990c17191a0d9300ecb104ec6f17dc 100644 --- a/src/main/java/de/tudresden/inf/mci/brailleplot/csvparser/CsvXAlignedCategoriesParser.java +++ b/src/main/java/de/tudresden/inf/mci/brailleplot/csvparser/CsvXAlignedCategoriesParser.java @@ -34,11 +34,11 @@ public class CsvXAlignedCategoriesParser extends CsvParseAlgorithm { Iterator<String> lineIterator = rowIterator.next().iterator(); // Move the iterator to the first category name - if (!lineIterator.hasNext()) { + /*if (!lineIterator.hasNext()) { return container; } - lineIterator.next(); + lineIterator.next();*/ if (!lineIterator.hasNext()) { return container; @@ -59,6 +59,12 @@ public class CsvXAlignedCategoriesParser extends CsvParseAlgorithm { if (!lineIterator.hasNext()) { continue; } + + if (!categoriesIt.hasNext()) { + System.out.print(categories); + System.out.print("fail"); + return container; + } String category = categoriesIt.next(); PointList pointList = new SimplePointListImpl(category); container.pushBack(pointList); @@ -134,7 +140,9 @@ public class CsvXAlignedCategoriesParser extends CsvParseAlgorithm { // Find out the category title String currentCategory = lineIterator.next(); - it.next().setName(currentCategory); + if (it.hasNext()) { + it.next().setName(currentCategory); + } // Find out the mY values and add the points to the respective lists int currentDataSet = 0; diff --git a/src/main/resources/examples/csv/0_bar_chart_vertical.csv b/src/main/resources/examples/csv/0_bar_chart_vertical.csv new file mode 100644 index 0000000000000000000000000000000000000000..4af2062281540534bcc3806841c68153c08aad24 --- /dev/null +++ b/src/main/resources/examples/csv/0_bar_chart_vertical.csv @@ -0,0 +1,5 @@ +Kat.1,Kat.2,Kat.3 +Reihe a,3,4,"4,5" +Reihe b,"2,5",3,3 +Reihe c,1,2,1 +Reihe d,3,5,"0,2"