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

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

Introduction

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

Prototype

public void setDomainIsPointsInTime(boolean flag) 

Source Link

Document

Sets a flag that controls whether the domain is treated as 'points in time', or time periods.

Usage

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

/**
 * Some checks for the equals() method.//from  w w  w .  j  ava2 s  .  c om
 */
@Test
public void testEquals() {
    TimeTableXYDataset d1 = new TimeTableXYDataset();
    TimeTableXYDataset d2 = new TimeTableXYDataset();
    assertTrue(d1.equals(d2));
    assertTrue(d2.equals(d1));

    d1.add(new Year(1999), 123.4, "S1");
    assertFalse(d1.equals(d2));
    d2.add(new Year(1999), 123.4, "S1");
    assertTrue(d1.equals(d2));

    d1.setDomainIsPointsInTime(!d1.getDomainIsPointsInTime());
    assertFalse(d1.equals(d2));
    d2.setDomainIsPointsInTime(!d2.getDomainIsPointsInTime());
    assertTrue(d1.equals(d2));

    d1 = new TimeTableXYDataset(TimeZone.getTimeZone("GMT"));
    d2 = new TimeTableXYDataset(TimeZone.getTimeZone("America/Los_Angeles"));
    assertFalse(d1.equals(d2));
}

From source file:org.openmrs.module.usagestatistics.web.view.chart.DateRangeChartView.java

@Override
protected JFreeChart createChart(Map<String, Object> model, HttpServletRequest request) {
    UsageStatisticsService svc = Context.getService(UsageStatisticsService.class);
    List<Object[]> stats = svc.getDateRangeStats(null, null, null);

    String xAxisLabel = ContextProvider.getMessage("usagestatistics.chart.date");
    String yAxisLabel = ContextProvider.getMessage("usagestatistics.chart.records");
    String seriesUsages = ContextProvider.getMessage("usagestatistics.results.views");
    String seriesEncounters = ContextProvider.getMessage("usagestatistics.results.encounters");
    String seriesUpdates = ContextProvider.getMessage("usagestatistics.results.updates");

    // Get minimum date value in returned statistics
    Date minDate = (stats.size() > 0) ? (Date) (stats.get(0)[0]) : getFromDate();
    if (minDate.getTime() > getFromDate().getTime()) // Min date must be at least a week ago
        minDate = getFromDate();/*from  ww  w . j a va2 s  .com*/
    // Maximum date defaults to today
    Date maxDate = (getUntilDate() != null) ? getUntilDate() : new Date();

    // Build a zeroized dataset of all dates in range       
    TimeTableXYDataset dataset = new TimeTableXYDataset();
    Calendar cal = new GregorianCalendar();
    cal.setTime(minDate);
    while (cal.getTime().getTime() <= maxDate.getTime()) {
        Date day = cal.getTime();
        dataset.add(new Day(day), 0, seriesUsages, false);
        dataset.add(new Day(day), 0, seriesEncounters, false);
        dataset.add(new Day(day), 0, seriesUpdates, false);
        cal.add(Calendar.DATE, 1);
    }

    // Update the dates for which we have statistics
    for (Object[] row : stats) {
        Date date = (Date) row[0];
        int usages = ((Number) row[1]).intValue();
        int encounters = ((Number) row[2]).intValue();
        int updates = ((Number) row[3]).intValue();
        dataset.add(new Day(date), usages, seriesUsages, false);
        dataset.add(new Day(date), encounters, seriesEncounters, false);
        dataset.add(new Day(date), updates, seriesUpdates, false);
    }
    dataset.setDomainIsPointsInTime(true);

    JFreeChart chart = ChartFactory.createXYLineChart(null, xAxisLabel, yAxisLabel, dataset,
            PlotOrientation.VERTICAL, true, false, false);
    DateAxis xAxis = new DateAxis(xAxisLabel);

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

    return chart;
}