Example usage for org.jfree.data.time DateRange DateRange

List of usage examples for org.jfree.data.time DateRange DateRange

Introduction

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

Prototype

public DateRange(double lower, double upper) 

Source Link

Document

Constructs a new range using two values that will be interpreted as "milliseconds since midnight GMT, 1-Jan-1970".

Usage

From source file:org.jfree.data.time.DateRangeTest.java

/**
 * Confirm that the equals method can distinguish all the required fields.
 *//*from w ww . j a  v a2  s.c  o  m*/
@Test
public void testEquals() {
    DateRange r1 = new DateRange(new Date(1000L), new Date(2000L));
    DateRange r2 = new DateRange(new Date(1000L), new Date(2000L));
    assertTrue(r1.equals(r2));
    assertTrue(r2.equals(r1));

    r1 = new DateRange(new Date(1111L), new Date(2000L));
    assertFalse(r1.equals(r2));
    r2 = new DateRange(new Date(1111L), new Date(2000L));
    assertTrue(r1.equals(r2));

    r1 = new DateRange(new Date(1111L), new Date(2222L));
    assertFalse(r1.equals(r2));
    r2 = new DateRange(new Date(1111L), new Date(2222L));
    assertTrue(r1.equals(r2));
}

From source file:org.jfree.data.time.DateRangeTest.java

/**
 * Serialize an instance, restore it, and check for equality.
 *///from w ww .  j a  v  a  2s  . com
@Test
public void testSerialization() {
    DateRange r1 = new DateRange(new Date(1000L), new Date(2000L));
    DateRange r2 = (DateRange) TestUtilities.serialised(r1);
    assertEquals(r1, r2);
}

From source file:org.jfree.data.time.DateRangeTest.java

/**
 * The {@link DateRange} class is immutable, so it doesn't need to
 * be cloneable.//from w w w . ja v a 2 s  .c o m
 */
@Test
public void testClone() {
    DateRange r1 = new DateRange(new Date(1000L), new Date(2000L));
    assertFalse(r1 instanceof Cloneable);
}

From source file:org.jfree.data.time.DateRangeTest.java

/**
 * Confirm that a DateRange is immutable.
 *///from  ww  w  .  ja v a  2  s.  co m
@Test
public void testImmutable() {
    Date d1 = new Date(10L);
    Date d2 = new Date(20L);
    DateRange r = new DateRange(d1, d2);
    d1.setTime(11L);
    assertEquals(new Date(10L), r.getLowerDate());
    r.getUpperDate().setTime(22L);
    assertEquals(new Date(20L), r.getUpperDate());
}

From source file:api3.transform.PlotWave.java

public void plot(double[][] signal, String name, long samplerate) {

    frame.setTitle(name);//from ww w. ja v a  2s  . c om

    XYSeries[] soundWave = new XYSeries[signal.length];
    for (int j = 0; j < signal.length; ++j) {
        soundWave[j] = new XYSeries("sygnal" + j);
        for (int i = 0; i < signal[0].length; ++i) {
            double index = (samplerate == 0) ? i : 1000.0 * (double) i / (double) samplerate;
            soundWave[j].add(index, signal[j][i]);
        }
    }

    XYSeriesCollection dataset = new XYSeriesCollection();
    for (int j = 0; j < signal.length; ++j) {
        dataset.addSeries(soundWave[j]);
    }

    JFreeChart chart = //            (samplerate ==0 )?
            //            ChartFactory.createXYBarChart(
            //            name,
            //            "prbka",
            //            false,
            //            "warto",
            //            new XYBarDataset(dataset,0.0625),
            //            PlotOrientation.VERTICAL,
            //            true,false,false)
            //            :
            ChartFactory.createXYLineChart(name, "prbka", "warto", dataset,
                    PlotOrientation.VERTICAL, true, false, false);

    XYPlot plot = (XYPlot) chart.getPlot();

    final NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();

    slider.addChangeListener(new ChangeListener() {

        @Override
        public void stateChanged(ChangeEvent event) {
            int value = slider.getValue();
            double minimum = domainAxis.getRange().getLowerBound();
            double maximum = domainAxis.getRange().getUpperBound();
            double delta = (0.1f * (domainAxis.getRange().getLength()));
            if (value < lastValue) { // left
                minimum = minimum - delta;
                maximum = maximum - delta;
            } else { // right
                minimum = minimum + delta;
                maximum = maximum + delta;
            }
            DateRange range = new DateRange(minimum, maximum);
            domainAxis.setRange(range);
            lastValue = value;
            if (lastValue == slider.getMinimum() || lastValue == slider.getMaximum()) {
                slider.setValue(SLIDER_DEFAULT_VALUE);
            }
        }

    });

    plot.addRangeMarker(new ValueMarker(0, Color.BLACK, new BasicStroke(1)));

    ChartPanel chartPanel = new ChartPanel(chart);
    Border border = BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4),
            BorderFactory.createEtchedBorder());
    chartPanel.setBorder(border);

    chartPanel.addMouseWheelListener(addZoomWheel());

    panel.add(chartPanel);
    JPanel dashboard = new JPanel(new BorderLayout());
    dashboard.setBorder(BorderFactory.createEmptyBorder(0, 4, 4, 4));
    dashboard.add(slider);
    panel.add(dashboard, BorderLayout.SOUTH);

    frame.getContentPane().add((JPanel) panel, BorderLayout.CENTER);

    frame.pack();
    frame.setVisible(true);
}

From source file:org.projectforge.charting.XYChartBuilder.java

public XYChartBuilder setDateXAxisRange(final Date lower, final Date upper) {
    if (xAxis == null) {
        throw new IllegalArgumentException("Call set*XAxis first. No xAxis given yet.");
    }/*  ww  w .  j a v  a  2s  .co  m*/
    xAxis.setRange(new DateRange(lower, upper));
    return this;
}

From source file:org.codehaus.mojo.dashboard.report.plugin.chart.time.TimeChartRenderer.java

public void createChart() {
    XYDataset dataset = (XYDataset) this.datasetStrategy.getDataset();
    report = ChartFactory.createTimeSeriesChart(this.datasetStrategy.getTitle(), // title
            this.datasetStrategy.getXAxisLabel(), // x-axis label
            this.datasetStrategy.getYAxisLabel(), // y-axis label
            dataset, // data
            true, // create legend?
            true, // generate tooltips?
            false // generate URLs?
    );//from   w  w w . j av  a2 s.  c  o m

    // report.setBackgroundPaint( Color.lightGray );
    XYPlot plot = report.getXYPlot();
    plot.setBackgroundPaint(Color.white);
    plot.setDomainGridlinePaint(Color.lightGray);
    plot.setRangeGridlinePaint(Color.lightGray);
    plot.setAxisOffset(new RectangleInsets(5D, 5D, 5D, 5D));
    XYItemRenderer xyitemrenderer = plot.getRenderer();
    if (xyitemrenderer instanceof XYLineAndShapeRenderer) {
        XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) xyitemrenderer;
        renderer.setBaseShapesVisible(true);
        renderer.setBaseShapesFilled(true);

        renderer.setBaseShapesVisible(true);
        renderer.setDrawOutlines(true);
        renderer.setBaseItemLabelGenerator(
                ((AbstractTimeChartStrategy) this.datasetStrategy).getLabelGenerator());
        renderer.setBaseItemLabelFont(new Font("SansSerif", Font.BOLD, 10));
        renderer.setBaseItemLabelsVisible(true);
        renderer.setBasePositiveItemLabelPosition(
                new ItemLabelPosition(ItemLabelAnchor.OUTSIDE10, TextAnchor.BASELINE_RIGHT));
    }

    Paint[] paints = this.datasetStrategy.getPaintColor();
    for (int i = 0; i < dataset.getSeriesCount() && i < paints.length; i++) {
        xyitemrenderer.setSeriesPaint(i, paints[i]);
        xyitemrenderer.setSeriesStroke(i, new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
    }
    plot.setRangeAxis(((AbstractTimeChartStrategy) this.datasetStrategy).getRangeAxis());
    DashDateAxis axisDate = new DashDateAxis();
    axisDate.setDateFormatOverride(
            ((AbstractTimeChartStrategy) this.datasetStrategy).getTimePeriod().getDateFormat());
    axisDate.setLabel(this.datasetStrategy.getXAxisLabel());
    axisDate.setTickUnit(getTickUnit(((AbstractTimeChartStrategy) this.datasetStrategy).getTimePeriod()));
    axisDate.setUpperMargin(0.0D);
    axisDate.setDateTickLabelAngle(-0.6);

    if (((AbstractTimeChartStrategy) this.datasetStrategy).getStartDate() != null
            && ((AbstractTimeChartStrategy) this.datasetStrategy).getEndDate() != null) {
        axisDate.setRangeWithMargins(
                new DateRange(((AbstractTimeChartStrategy) this.datasetStrategy).getStartDate(),
                        ((AbstractTimeChartStrategy) this.datasetStrategy).getEndDate()));

    }
    plot.setDomainAxis(axisDate);

    Date[] dates = DateUtils.getAllDates(((AbstractTimeChartStrategy) this.datasetStrategy).getStartDate(),
            ((AbstractTimeChartStrategy) this.datasetStrategy).getEndDate(),
            ((AbstractTimeChartStrategy) this.datasetStrategy).getTimePeriod());
    int width = (dates.length * ChartUtils.STANDARD_TIME_ENTRY_WIDTH)
            + ChartUtils.STANDARD_TIME_ADDITIONAL_WIDTH;
    if (width > ChartUtils.MINIMUM_WIDTH) {
        this.setWidth(width);
    } else {
        this.setWidth(ChartUtils.MINIMUM_WIDTH);
    }
}

From source file:cs.stats.gui.StatsCharts.java

public StatsCharts(double tresholdTRT) {
    super(new BorderLayout());

    this.tresholdTRT = tresholdTRT;

    datasets = new TimeSeriesCollection[SUBPLOT_COUNT];

    // set the initial date according to the one specified in SystemClock object
    GregorianCalendar calendar = new GregorianCalendar();
    calendar.set(GregorianCalendar.HOUR, 8);
    calendar.set(GregorianCalendar.DAY_OF_MONTH, 1);
    calendar.set(GregorianCalendar.MONTH, 2);
    calendar.set(GregorianCalendar.YEAR, 2010);

    //setup the initial date range
    GregorianCalendar calendarForInitialDateRange = new GregorianCalendar();
    calendarForInitialDateRange.set(GregorianCalendar.HOUR, 8);
    calendarForInitialDateRange.set(GregorianCalendar.DAY_OF_MONTH, 1);
    calendarForInitialDateRange.set(GregorianCalendar.MONTH, 2);
    calendarForInitialDateRange.set(GregorianCalendar.YEAR, 2010);

    initialDateRange = new DateRange(calendarForInitialDateRange.getTime(), calendar.getTime());
    initialDateRange1 = new DateRange(calendarForInitialDateRange.getTime(), calendar.getTime());
    initialDateRange2 = new DateRange(calendarForInitialDateRange.getTime(), calendar.getTime());
    initialDateRange3 = new DateRange(calendarForInitialDateRange.getTime(), calendar.getTime());
    initialDateRange4 = new DateRange(calendarForInitialDateRange.getTime(), calendar.getTime());
    initialDateRange5 = new DateRange(calendarForInitialDateRange.getTime(), calendar.getTime());

    JPanel tabbedPanel = createChartTab();
    add(tabbedPanel, "North");
}

From source file:cs.gui.stats.PerformanceStats.java

public PerformanceStats(ModelInterface modelInterfaceRef, StatsManager statsManagerRer) {
    super(new BorderLayout());

    this.modelInterface = modelInterfaceRef;
    this.statsManager = statsManagerRer;
    datasets = new TimeSeriesCollection[SUBPLOT_COUNT];

    // set the initial date according to the one specified in SystemClock object
    GregorianCalendar calendar = new GregorianCalendar();
    calendar.set(GregorianCalendar.HOUR_OF_DAY,
            modelInterface.getSimulationClock().getStartTime().get(Calendar.HOUR_OF_DAY));
    calendar.set(GregorianCalendar.DAY_OF_MONTH,
            modelInterface.getSimulationClock().getStartTime().get(Calendar.DAY_OF_MONTH));
    calendar.set(GregorianCalendar.MONTH,
            modelInterface.getSimulationClock().getStartTime().get(Calendar.MONTH));
    calendar.set(GregorianCalendar.YEAR, modelInterface.getSimulationClock().getStartTime().get(Calendar.YEAR));

    //setup the initial date range
    GregorianCalendar calendarForInitialDateRange = new GregorianCalendar();
    calendarForInitialDateRange.set(GregorianCalendar.HOUR_OF_DAY,
            modelInterface.getSimulationClock().getStartTime().get(Calendar.HOUR_OF_DAY));
    calendarForInitialDateRange.set(GregorianCalendar.DAY_OF_MONTH,
            modelInterface.getSimulationClock().getStartTime().get(Calendar.DAY_OF_MONTH));
    calendarForInitialDateRange.set(GregorianCalendar.MONTH,
            modelInterface.getSimulationClock().getStartTime().get(Calendar.MONTH));
    calendarForInitialDateRange.set(GregorianCalendar.YEAR,
            modelInterface.getSimulationClock().getStartTime().get(Calendar.YEAR));

    initialDateRange = new DateRange(calendarForInitialDateRange.getTime(), calendar.getTime());
    initialDateRange1 = new DateRange(calendarForInitialDateRange.getTime(), calendar.getTime());
    initialDateRange2 = new DateRange(calendarForInitialDateRange.getTime(), calendar.getTime());
    initialDateRange3 = new DateRange(calendarForInitialDateRange.getTime(), calendar.getTime());
    initialDateRange4 = new DateRange(calendarForInitialDateRange.getTime(), calendar.getTime());
    initialDateRange5 = new DateRange(calendarForInitialDateRange.getTime(), calendar.getTime());

    JPanel tabbedPanel = createChartTab();
    add(tabbedPanel, "North");
}

From source file:org.cds06.speleograph.data.Series.java

/**
 * Compute the date range of the items in this set.
 *
 * @return A date range which contains the lower and upper bounds of data.
 *//*  w  ww  .  j a  v a  2 s  .co  m*/
public DateRange getRange() {
    int max = getItemCount();
    DateRange range;
    if (max == 0) {
        Date now = Calendar.getInstance().getTime();
        return new DateRange(now, now);
    }
    Date minDate = new Date(Long.MAX_VALUE), maxDate = new Date(Long.MIN_VALUE);
    for (int i = 0; i < max; i++) {
        Item item = items.get(i);
        if (item.getDate().before(minDate))
            minDate = item.getDate();
        if (item.getDate().after(maxDate))
            maxDate = item.getDate();
    }
    range = new DateRange(minDate, maxDate);
    return range;
}