Example usage for org.jfree.data.gantt XYTaskDataset XYTaskDataset

List of usage examples for org.jfree.data.gantt XYTaskDataset XYTaskDataset

Introduction

In this page you can find the example usage for org.jfree.data.gantt XYTaskDataset XYTaskDataset.

Prototype

public XYTaskDataset(TaskSeriesCollection tasks) 

Source Link

Document

Creates a new dataset based on the supplied collection of tasks.

Usage

From source file:org.jfree.chart.demo.XYTaskDatasetDemo1.java

private static IntervalXYDataset createDataset() {
    return new XYTaskDataset(createTasks());
}

From source file:org.matsim.contrib.dvrp.util.chart.ScheduleChartUtils.java

public static <T extends Task> JFreeChart chartSchedule(List<? extends Vehicle> vehicles,
        DescriptionCreator<T> descriptionCreator, PaintSelector<T> paintSelector) {
    // data//from w  w w .  j  a v a2 s .co  m
    TaskSeriesCollection dataset = createScheduleDataset(vehicles, descriptionCreator);
    XYTaskDataset xyTaskDataset = new XYTaskDataset(dataset);

    // chart
    JFreeChart chart = ChartFactory.createXYBarChart("Schedules", "Time", false, "Vehicles", xyTaskDataset,
            PlotOrientation.HORIZONTAL, false, true, false);
    XYPlot plot = (XYPlot) chart.getPlot();

    // Y axis
    String[] series = new String[vehicles.size()];
    for (int i = 0; i < series.length; i++) {
        series[i] = vehicles.get(i).getId().toString();
    }

    SymbolAxis symbolAxis = new SymbolAxis("Vehicles", series);
    symbolAxis.setGridBandsVisible(false);
    plot.setDomainAxis(symbolAxis);

    // X axis
    plot.setRangeAxis(new DateAxis("Time", TimeZone.getTimeZone("GMT"), Locale.getDefault()));

    // Renderer
    XYBarRenderer xyBarRenderer = new ChartTaskRenderer<T>(dataset, paintSelector);
    xyBarRenderer.setUseYInterval(true);
    plot.setRenderer(xyBarRenderer);

    return chart;
}

From source file:lu.lippmann.cdb.common.gui.ts.TimeSeriesChartUtil.java

public static ChartPanel buildChartPanelForNominalAttribute(final Instances ds, final Attribute attr,
        final int dateIdx) {
    final TaskSeriesCollection localTaskSeriesCollection = new TaskSeriesCollection();
    final java.util.List<String> names = new ArrayList<String>();

    final Set<String> present = WekaDataStatsUtil.getPresentValuesForNominalAttribute(ds, attr.index());
    for (final String pr : present) {
        names.add(pr);// ww  w  .j  a va 2s  .c o  m
        localTaskSeriesCollection.add(new TaskSeries(pr));
    }

    final Calendar cal = Calendar.getInstance();
    try {
        for (final double[] dd : WekaTimeSeriesUtil.split(ds, attr.index())) {
            cal.setTimeInMillis((long) dd[0]);
            final Date start = cal.getTime();
            cal.setTimeInMillis((long) dd[1]);
            final Date end = cal.getTime();
            final String sd = ds.instance((int) dd[2]).stringValue(attr);
            localTaskSeriesCollection.getSeries(sd).add(new Task("T", start, end));
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    final XYTaskDataset localXYTaskDataset = new XYTaskDataset(localTaskSeriesCollection);
    localXYTaskDataset.setTransposed(true);
    localXYTaskDataset.setSeriesWidth(0.6D);

    final DateAxis localDateAxis = new DateAxis(DATE_TIME_LABEL);
    final SymbolAxis localSymbolAxis = new SymbolAxis("", names.toArray(new String[names.size()]));
    localSymbolAxis.setGridBandsVisible(false);
    final XYBarRenderer localXYBarRenderer = new XYBarRenderer();
    localXYBarRenderer.setUseYInterval(true);
    localXYBarRenderer.setShadowVisible(false);
    final XYPlot localXYPlot = new XYPlot(localXYTaskDataset, localDateAxis, localSymbolAxis,
            localXYBarRenderer);

    final CombinedDomainXYPlot localCombinedDomainXYPlot = new CombinedDomainXYPlot(
            new DateAxis(DATE_TIME_LABEL));
    localCombinedDomainXYPlot.add(localXYPlot);
    final JFreeChart localJFreeChart = new JFreeChart("", localCombinedDomainXYPlot);
    localJFreeChart.setBackgroundPaint(Color.white);

    final ChartPanel cp = new ChartPanel(localJFreeChart, true);
    cp.setBorder(new TitledBorder(attr.name()));
    return cp;
}

From source file:org.matsim.contrib.dvrp.util.chart.ScheduleCharts.java

public static JFreeChart chartSchedule(Collection<? extends Vehicle> vehicles,
        DescriptionCreator descriptionCreator, PaintSelector paintSelector) {
    // data/*from   w  w w.  j  a  v  a 2  s  .co  m*/
    TaskSeriesCollection dataset = createScheduleDataset(vehicles, descriptionCreator);
    XYTaskDataset xyTaskDataset = new XYTaskDataset(dataset);

    // chart
    JFreeChart chart = ChartFactory.createXYBarChart("Schedules", "Time", false, "Vehicles", xyTaskDataset,
            PlotOrientation.HORIZONTAL, false, true, false);
    XYPlot plot = (XYPlot) chart.getPlot();

    // Y axis
    String[] series = new String[vehicles.size()];
    int i = 0;
    for (Vehicle v : vehicles) {
        series[i++] = v.getId().toString();
    }

    SymbolAxis symbolAxis = new SymbolAxis("Vehicles", series);
    symbolAxis.setGridBandsVisible(false);
    plot.setDomainAxis(symbolAxis);

    // X axis
    plot.setRangeAxis(new DateAxis("Time", TimeZone.getTimeZone("GMT"), Locale.getDefault()));

    // Renderer
    XYBarRenderer xyBarRenderer = new ChartTaskRenderer(dataset, paintSelector);
    xyBarRenderer.setUseYInterval(true);
    plot.setRenderer(xyBarRenderer);

    return chart;
}

From source file:org.jfree.data.gantt.XYTaskDatasetTest.java

/**
 * Some checks for the equals() method.//from  w w w.ja  va 2  s . co m
 */
@Test
public void testEquals() {
    TaskSeries s1 = new TaskSeries("Series");
    s1.add(new Task("Task 1", new Date(0L), new Date(1L)));
    s1.add(new Task("Task 2", new Date(10L), new Date(11L)));
    s1.add(new Task("Task 3", new Date(20L), new Date(21L)));
    TaskSeriesCollection u1 = new TaskSeriesCollection();
    u1.add(s1);
    XYTaskDataset d1 = new XYTaskDataset(u1);
    TaskSeries s2 = new TaskSeries("Series");
    s2.add(new Task("Task 1", new Date(0L), new Date(1L)));
    s2.add(new Task("Task 2", new Date(10L), new Date(11L)));
    s2.add(new Task("Task 3", new Date(20L), new Date(21L)));
    TaskSeriesCollection u2 = new TaskSeriesCollection();
    u2.add(s2);
    XYTaskDataset d2 = new XYTaskDataset(u2);
    assertTrue(d1.equals(d2));

    d1.setSeriesWidth(0.123);
    assertFalse(d1.equals(d2));
    d2.setSeriesWidth(0.123);
    assertTrue(d1.equals(d2));

    d1.setTransposed(true);
    assertFalse(d1.equals(d2));
    d2.setTransposed(true);
    assertTrue(d1.equals(d2));

    s1.add(new Task("Task 2", new Date(10L), new Date(11L)));
    assertFalse(d1.equals(d2));
    s2.add(new Task("Task 2", new Date(10L), new Date(11L)));
    assertTrue(d1.equals(d2));
}

From source file:org.jfree.chart.demo.XYTaskDatasetDemo2.java

private static IntervalXYDataset createDataset2() {
    XYTaskDataset xytaskdataset = new XYTaskDataset(createTasks());
    xytaskdataset.setTransposed(true);//from www .  ja va2 s.c  o  m
    xytaskdataset.setSeriesWidth(0.59999999999999998D);
    return xytaskdataset;
}

From source file:org.jfree.data.gantt.XYTaskDatasetTest.java

/**
 * Confirm that cloning works./*from   w w w.  j a v  a  2 s .c o  m*/
 */
@Test
public void testCloning() throws CloneNotSupportedException {
    TaskSeries s1 = new TaskSeries("Series");
    s1.add(new Task("Task 1", new Date(0L), new Date(1L)));
    TaskSeriesCollection u1 = new TaskSeriesCollection();
    u1.add(s1);
    XYTaskDataset d1 = new XYTaskDataset(u1);
    XYTaskDataset d2 = (XYTaskDataset) d1.clone();
    assertTrue(d1 != d2);
    assertTrue(d1.getClass() == d2.getClass());
    assertTrue(d1.equals(d2));

    // basic check for independence
    s1.add(new Task("Task 2", new Date(10L), new Date(11L)));
    assertFalse(d1.equals(d2));
    TaskSeriesCollection u2 = d2.getTasks();
    TaskSeries s2 = u2.getSeries("Series");
    s2.add(new Task("Task 2", new Date(10L), new Date(11L)));
    assertTrue(d1.equals(d2));
}

From source file:org.jfree.data.gantt.XYTaskDatasetTest.java

/**
 * Serialize an instance, restore it, and check for equality.
 *//*w ww . ja  v  a 2s  .co m*/
@Test
public void testSerialization() {
    TaskSeries s1 = new TaskSeries("Series");
    s1.add(new Task("Task 1", new Date(0L), new Date(1L)));
    TaskSeriesCollection u1 = new TaskSeriesCollection();
    u1.add(s1);
    XYTaskDataset d1 = new XYTaskDataset(u1);
    XYTaskDataset d2 = (XYTaskDataset) TestUtilities.serialised(d1);
    assertEquals(d1, d2);

    // basic check for independence
    s1.add(new Task("Task 2", new Date(10L), new Date(11L)));
    assertFalse(d1.equals(d2));
    TaskSeriesCollection u2 = d2.getTasks();
    TaskSeries s2 = u2.getSeries("Series");
    s2.add(new Task("Task 2", new Date(10L), new Date(11L)));
    assertTrue(d1.equals(d2));
}

From source file:pisco.batch.visu.BatchingChartFactory.java

public static XYDataset createLatenessDataset(Batch[] batches) {
    final TaskSeriesCollection coll = new TaskSeriesCollection();
    for (int i = 0; i < batches.length; i++) {
        TaskSeries series = new TaskSeries(String.valueOf(i));
        final int dd = batches[i].getDueDate();
        final int compl = batches[i].getCompletionTime();
        TimePeriod p = dd < compl ? new SimpleTimePeriod(dd, compl) : new SimpleTimePeriod(compl, dd);
        series.add(new Task("B" + i, p));
        coll.add(series);/*  w  w  w.java2s .  c o  m*/
    }
    final XYTaskDataset dataset = new XYTaskDataset(coll);
    dataset.setTransposed(true);
    return dataset;

}

From source file:oscar.oscarEncounter.oscarMeasurements.pageUtil.MeasurementGraphAction2.java

private static XYTaskDataset getDrugDataSet(String demographic, String[] dins) {

    TaskSeriesCollection datasetDrug = new TaskSeriesCollection();
    oscar.oscarRx.data.RxPrescriptionData prescriptData = new oscar.oscarRx.data.RxPrescriptionData();

    for (String din : dins) {
        oscar.oscarRx.data.RxPrescriptionData.Prescription[] arr = prescriptData
                .getPrescriptionScriptsByPatientRegionalIdentifier(Integer.parseInt(demographic), din);
        TaskSeries ts = new TaskSeries(arr[0].getBrandName());
        for (oscar.oscarRx.data.RxPrescriptionData.Prescription pres : arr) {
            ts.add(new Task(pres.getBrandName(), pres.getRxDate(), pres.getEndDate()));
        }/*from   w  w w . j a v a 2s  .com*/
        datasetDrug.add(ts);
    }

    XYTaskDataset dataset = new XYTaskDataset(datasetDrug);
    dataset.setTransposed(true);
    dataset.setSeriesWidth(0.6);
    return dataset;
}