Example usage for org.jfree.data.time TimeTableXYDataset getSeriesKey

List of usage examples for org.jfree.data.time TimeTableXYDataset getSeriesKey

Introduction

In this page you can find the example usage for org.jfree.data.time TimeTableXYDataset getSeriesKey.

Prototype

@Override
public Comparable getSeriesKey(int series) 

Source Link

Document

Returns the key for a series.

Usage

From source file:org.xwiki.rendering.internal.macro.chart.source.table.TableTimeTableXYBuilderTest.java

@Test
public void testBuildTimeTableXY() throws Exception {
    String content = "| Date | column 2 | column 3 | column 4\n" + "| 2012-01-01 10:30:10 | 12 | 13 | 14 \n"
            + "| 2012-01-01 10:30:20 |  22 | 23 | 24 \n";
    setUpContentExpectation(content);/*w  ww . j  a v a2  s . co m*/

    getDataSource().buildDataset(content, map("type", "xy_line_and_shape", "dataset", "timetable_xy", "range",
            "A2-D3", "locale", "en_US", "date_format", "yyyy-MM-dd kk:mm:ss", "domain_axis_type", "date"),
            null);

    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss", new Locale("en"));

    ChartModel chartModel = getDataSource().getChartModel();

    Assert.assertTrue(chartModel.getDataset() instanceof TimeTableXYDataset);

    Assert.assertTrue(chartModel.getAxis(0) instanceof DateAxis);
    Assert.assertTrue(chartModel.getAxis(1) instanceof ValueAxis);

    TimeTableXYDataset dataset = (TimeTableXYDataset) chartModel.getDataset();

    Assert.assertTrue(dataset.getSeriesCount() == 3);

    Assert.assertTrue(dataset.getSeriesKey(0).equals(" column 2 "));
    Assert.assertTrue(dataset.getSeriesKey(1).equals(" column 3 "));
    Assert.assertTrue(dataset.getSeriesKey(2).equals(" column 4"));

    Assert.assertTrue(dataset.getTimePeriod(0).getStart().equals(new Date(0)));
    Assert.assertTrue(dataset.getTimePeriod(0).getEnd().equals(dateFormat.parse("2012-01-01 10:30:10")));

    Assert.assertTrue(dataset.getTimePeriod(1).getStart().equals(dateFormat.parse("2012-01-01 10:30:10")));
    Assert.assertTrue(dataset.getTimePeriod(1).getEnd().equals(dateFormat.parse("2012-01-01 10:30:20")));
}

From source file:net.atomique.ksar.graph.Graph.java

private JFreeChart makegraph(LocalDateTime start, LocalDateTime end) {

    long begingenerate = System.currentTimeMillis();

    CombinedDomainXYPlot plot = new CombinedDomainXYPlot(axisofdate);
    // do the stacked stuff
    for (PlotStackConfig tmp : graphconfig.getStacklist().values()) {
        if (tmp == null) {
            continue;
        }//from ww w  . j  ava  2  s. c  om
        TimeTableXYDataset tmp2 = StackListbyName.get(tmp.getTitle());

        if (tmp2 != null) {
            StackedXYAreaRenderer2 renderer = new StackedXYAreaRenderer2();
            NumberAxis graphaxistitle = tmp.getAxis();
            XYPlot temp_plot = new XYPlot(tmp2, axisofdate, graphaxistitle, renderer);
            for (int i = 0; i < tmp2.getSeriesCount(); i++) {
                Color color = GlobalOptions.getDataColor(tmp2.getSeriesKey(i).toString());
                if (color != null) {
                    renderer.setSeriesPaint(i, color);
                    renderer.setDefaultStroke(new BasicStroke(1.0F));
                }
            }
            plot.add(temp_plot, tmp.getSize());
        }
    }
    // do the line stuff
    for (PlotStackConfig tmp : graphconfig.getPlotlist().values()) {
        XYItemRenderer renderer = new StandardXYItemRenderer();
        ArrayList<String> t = new ArrayList<>();
        String[] s = tmp.getHeaderStr().split("\\s+");
        Collections.addAll(t, s);

        XYDataset c = create_collection(t);
        NumberAxis graphaxistitle = tmp.getAxis();
        XYPlot tmpplot = new XYPlot(c, axisofdate, graphaxistitle, renderer);

        for (int i = 0; i < s.length; i++) {
            Color color = GlobalOptions.getDataColor(s[i]);
            if (color != null) {
                renderer.setSeriesPaint(i, color);
                renderer.setDefaultStroke(new BasicStroke(1.0F));
            }
        }
        plot.add(tmpplot, tmp.getSize());
    }
    if (plot.getSubplots().isEmpty()) {
        return null;
    }
    if (start != null && end != null) {
        Second g_start = convertLocalDateTimeToSecond(start);
        Second g_end = convertLocalDateTimeToSecond(end);
        axisofdate.setRange(g_start.getStart(), g_end.getEnd());
    }

    plot.setOrientation(PlotOrientation.VERTICAL);
    JFreeChart mychart = new JFreeChart(graphtitle, Config.getDEFAULT_FONT(), plot, true);
    long endgenerate = System.currentTimeMillis();
    mychart.setBackgroundPaint(Color.white);
    if (GlobalOptions.isDodebug()) {
        log.debug("graph generation: {} ms", (endgenerate - begingenerate));
    }
    return mychart;
}

From source file:com.sonyericsson.jenkins.plugins.bfa.graphs.TimeSeriesChart.java

@Override
protected JFreeChart createGraph() {
    TimeTableXYDataset dataset = createDataset();
    ValueAxis xAxis = new DateAxis();
    xAxis.setLowerMargin(0.0);/*from   w w w  .  j ava  2 s .  c om*/
    xAxis.setUpperMargin(0.0);
    Calendar lowerBound = getLowerGraphBound();
    xAxis.setRange(lowerBound.getTimeInMillis(), Calendar.getInstance().getTimeInMillis());

    NumberAxis yAxis = new NumberAxis(Y_AXIS_LABEL);
    yAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    StackedXYBarRenderer renderer = new StackedXYBarRenderer();
    renderer.setBaseToolTipGenerator(new XYToolTipGenerator() {
        @Override
        public String generateToolTip(XYDataset dataset, int series, int item) {
            String seriesKey = dataset.getSeriesKey(series).toString();
            StringBuilder sb = new StringBuilder();

            if (seriesKey.equals(GRAPH_OTHERS)) {
                long timeInMillis = dataset.getX(series, item).longValue();
                Date time = new Date(timeInMillis);

                TimePeriod period = null;
                if (intervalSize == Calendar.DATE) {
                    period = new Day(time);
                } else if (intervalSize == Calendar.HOUR_OF_DAY) {
                    period = new Hour(time);
                } else if (intervalSize == Calendar.MONTH) {
                    period = new Month(time);
                }
                List<FailureCauseTimeInterval> excludedDataList = excludedDataForPeriod.get(period);
                if (excludedDataList != null) {
                    Collections.sort(excludedDataList, new Comparator<FailureCauseTimeInterval>() {

                        @Override
                        public int compare(FailureCauseTimeInterval o1, FailureCauseTimeInterval o2) {
                            return o2.getNumber() - o1.getNumber();
                        }
                    });
                    for (FailureCauseTimeInterval excludedData : excludedDataList) {
                        sb.append(excludedData).append(" \n");
                    }
                }
            } else {
                int number = dataset.getY(series, item).intValue();
                sb.append(seriesKey).append(": ").append(number);
            }
            return sb.toString();
        }
    });

    XYPlot plot = new XYPlot(dataset, xAxis, yAxis, renderer);
    plot.setOrientation(PlotOrientation.VERTICAL);

    plot.setRangeAxis(yAxis);

    JFreeChart chart = new JFreeChart(graphTitle, JFreeChart.DEFAULT_TITLE_FONT, plot, true);

    return chart;
}