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

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

Introduction

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

Prototype

public TimeSeriesCollection() 

Source Link

Document

Constructs an empty dataset, tied to the default timezone.

Usage

From source file:com.leonarduk.finance.chart.CandlestickChart.java

/**
 * Builds an additional JFreeChart dataset from a ta4j time series.
 *
 * @param series//  www . j  av a2  s  .  c  o  m
 *            a time series
 * @return an additional dataset
 */
private static TimeSeriesCollection createAdditionalDataset(final TimeSeries series) {
    final ClosePriceIndicator indicator = new ClosePriceIndicator(series);
    final TimeSeriesCollection dataset = new TimeSeriesCollection();
    final org.jfree.data.time.TimeSeries chartTimeSeries = new org.jfree.data.time.TimeSeries(
            series.getName() + " price");
    for (int i = 0; i < series.getTickCount(); i++) {
        final Tick tick = series.getTick(i);
        chartTimeSeries.add(new Second(tick.getEndTime().toDate()), indicator.getValue(i).toDouble());
    }
    dataset.addSeries(chartTimeSeries);
    return dataset;
}

From source file:ws.moor.bt.grapher.ChartBuilder.java

public ChartBuilder(String chartName) {
    this.chartName = chartName;
    timeSeries = new TimeSeriesCollection();
}

From source file:org.apache.phoenix.pherf.result.impl.ImageResultHandler.java

@Override
public synchronized void write(Result result) throws Exception {
    TimeSeriesCollection timeSeriesCollection = new TimeSeriesCollection();
    int rowCount = 0;
    int maxLegendCount = 20;
    int chartDimension = 1100;

    ResultValue<DataModelResult> resultValue = result.getResultValues().get(0);
    DataModelResult dataModelResult = resultValue.getResultValue();

    for (ScenarioResult scenarioResult : dataModelResult.getScenarioResult()) {
        for (QuerySetResult querySetResult : scenarioResult.getQuerySetResult()) {
            for (QueryResult queryResult : querySetResult.getQueryResults()) {
                for (ThreadTime tt : queryResult.getThreadTimes()) {
                    TimeSeries timeSeries = new TimeSeries(
                            queryResult.getStatement() + " :: " + tt.getThreadName());
                    rowCount++;/*from   w  ww . ja  va 2  s .c  o  m*/
                    synchronized (tt.getRunTimesInMs()) {
                        for (RunTime rt : tt.getRunTimesInMs()) {
                            if (rt.getStartTime() != null) {
                                timeSeries.add(new Millisecond(rt.getStartTime()), rt.getElapsedDurationInMs());
                            }
                        }
                    }
                    timeSeriesCollection.addSeries(timeSeries);
                }
            }
        }
    }
    boolean legend = rowCount > maxLegendCount ? false : true;
    JFreeChart chart = ChartFactory.createTimeSeriesChart(dataModelResult.getName(), "Time", "Query Time (ms)",
            timeSeriesCollection, legend, true, false);
    StandardXYItemRenderer renderer = new StandardXYItemRenderer(StandardXYItemRenderer.SHAPES_AND_LINES);
    chart.getXYPlot().setRenderer(renderer);
    chart.getXYPlot().setBackgroundPaint(Color.WHITE);
    chart.getXYPlot().setRangeGridlinePaint(Color.BLACK);
    for (int i = 0; i < rowCount; i++) {
        chart.getXYPlot().getRenderer().setSeriesStroke(i, new BasicStroke(3f));
    }
    try {
        ChartUtilities.saveChartAsJPEG(new File(resultFileName), chart, chartDimension, chartDimension);
    } catch (IOException e) {
        e.printStackTrace();
    }

}

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

public MemoryUsageDemo(int i) {
    super(new BorderLayout());
    total = new TimeSeries("Total Memory");
    total.setMaximumItemAge(i);//from  w  ww.j  av a  2  s.  c  om
    free = new TimeSeries("Free Memory");
    free.setMaximumItemAge(i);
    TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();
    timeseriescollection.addSeries(total);
    timeseriescollection.addSeries(free);
    DateAxis dateaxis = new DateAxis("Time");
    NumberAxis numberaxis = new NumberAxis("Memory");
    dateaxis.setTickLabelFont(new Font("SansSerif", 0, 12));
    numberaxis.setTickLabelFont(new Font("SansSerif", 0, 12));
    dateaxis.setLabelFont(new Font("SansSerif", 0, 14));
    numberaxis.setLabelFont(new Font("SansSerif", 0, 14));
    XYLineAndShapeRenderer xylineandshaperenderer = new XYLineAndShapeRenderer(true, false);
    xylineandshaperenderer.setSeriesPaint(0, Color.red);
    xylineandshaperenderer.setSeriesPaint(1, Color.green);
    xylineandshaperenderer.setSeriesStroke(0, new BasicStroke(3F, 0, 2));
    xylineandshaperenderer.setSeriesStroke(1, new BasicStroke(3F, 0, 2));
    XYPlot xyplot = new XYPlot(timeseriescollection, dateaxis, numberaxis, xylineandshaperenderer);
    xyplot.setBackgroundPaint(Color.lightGray);
    xyplot.setDomainGridlinePaint(Color.white);
    xyplot.setRangeGridlinePaint(Color.white);
    xyplot.setAxisOffset(new RectangleInsets(5D, 5D, 5D, 5D));
    dateaxis.setAutoRange(true);
    dateaxis.setLowerMargin(0.0D);
    dateaxis.setUpperMargin(0.0D);
    dateaxis.setTickLabelsVisible(true);
    numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    JFreeChart jfreechart = new JFreeChart("JVM Memory Usage", new Font("SansSerif", 1, 24), xyplot, true);
    jfreechart.setBackgroundPaint(Color.white);
    ChartPanel chartpanel = new ChartPanel(jfreechart, true);
    chartpanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4),
            BorderFactory.createLineBorder(Color.black)));
    add(chartpanel);
}

From source file:org.mwc.debrief.sensorfusion.views.MouseClickProblemDemo.java

/**
 * @param title/*w w  w.j a va  2s. c  o m*/
 *          the frame title.
 */
public MouseClickProblemDemo(final String title) {
    super(title);

    final TimeSeries s1 = new TimeSeries("Series to click");
    s1.add(new Month(2, 2001), 181.8);
    s1.add(new Month(3, 2001), 167.3);
    s1.add(new Month(4, 2001), 153.8);
    s1.add(new Month(5, 2001), 167.6);
    s1.add(new Month(6, 2001), 158.8);
    s1.add(new Month(7, 2001), 148.3);
    s1.add(new Month(8, 2001), 153.9);
    s1.add(new Month(9, 2001), 142.7);
    s1.add(new Month(10, 2001), 123.2);

    final TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(s1);

    final JFreeChart chart = ChartFactory.createTimeSeriesChart("[Alt]-click to switch orientation", // title
            "Time axis", // x-axis label
            "Value axis", // y-axis label
            dataset, // data
            false, // create legend?
            false, // generate tooltips?
            false // generate URLs?
    );

    final ChartPanel chartPanel = new ChartPanel(chart);

    chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));

    chartPanel.addChartMouseListener(new ChartMouseListener() {
        public void chartMouseMoved(final ChartMouseEvent arg0) {
        }

        public void chartMouseClicked(final ChartMouseEvent arg0) {
            System.out.println("clicked on:" + arg0.getEntity());

            if (arg0.getTrigger().isAltDown()) {
                if (chart.getXYPlot().getOrientation() == PlotOrientation.HORIZONTAL)
                    chart.getXYPlot().setOrientation(PlotOrientation.VERTICAL);
                else
                    chart.getXYPlot().setOrientation(PlotOrientation.HORIZONTAL);
            }
        }
    });
    setContentPane(chartPanel);
}

From source file:com.griddynamics.jagger.reporting.chart.ChartHelper.java

public static JFreeChart createTimeSeriesChart(String title, List<TimeSeriesChartSpecification> specifications,
        String xLabel, String yLabel, ColorTheme theme) {

    TimeSeriesCollection dataCollection = new TimeSeriesCollection();
    for (TimeSeriesChartSpecification specification : specifications) {
        TimeSeries series = new TimeSeries(specification.getLabel(), Millisecond.class);
        for (Map.Entry<Date, Double> point : specification.getData().entrySet()) {
            series.add(new Millisecond(point.getKey()), point.getValue());
        }//  w w w .ja v a2s .c o  m
        dataCollection.addSeries(series);
    }

    JFreeChart chart = ChartFactory.createTimeSeriesChart(title, xLabel, yLabel, dataCollection, true, false,
            false);

    formatColorTheme(chart, theme);

    XYPlot plot = chart.getXYPlot();

    Color[] colors = generateJetSpectrum(specifications.size());
    for (int i = 0; i < specifications.size(); i++) {
        plot.getRenderer().setSeriesPaint(i, colors[i]);
    }

    DateAxis axis = (DateAxis) plot.getDomainAxis();
    axis.setDateFormatOverride(new SimpleDateFormat("dd/MM hh:mm:ss"));

    return chart;
}

From source file:compecon.dashboard.panel.MoneyPanel.java

protected ChartPanel createCreditUtilizationRatePanel() {
    TimeSeriesCollection timeSeriesCollection = new TimeSeriesCollection();

    for (Currency currency : Currency.values())
        timeSeriesCollection.addSeries(ApplicationContext.getInstance().getModelRegistry()
                .getNationalEconomyModel(currency).creditUtilizationRateModel.getTimeSeries());

    JFreeChart chart = ChartFactory.createTimeSeriesChart("Credit Utilization Rate", "Date",
            "Credit Utilization Rate", timeSeriesCollection, true, true, false);
    configureChart(chart);/* w w w  . j a  v a  2 s .  c om*/
    return new ChartPanel(chart);
}

From source file:org.softinica.maven.jmeter.report.analyser.ValueByTimestampAnalyzer.java

@Override
protected JFreeChart createChart(PageDefinition definition, Input input) {
    Map<String, Map<Long, Double>> allSeries = new HashMap<String, Map<Long, Double>>();
    for (Sample sample : input.getSamples()) {
        Map<Long, Double> duration = allSeries.get(sample.getLabel());
        if (duration == null) {
            duration = new HashMap<Long, Double>();
            allSeries.put(sample.getLabel(), duration);
        }/*from   ww  w  .  j  a  v a2s  . c om*/
        duration.put(sample.getTimestamp(), sample.getValue());
    }
    TimeSeriesCollection dataset = new TimeSeriesCollection();
    for (String label : allSeries.keySet()) {
        Map<Long, Double> duration = allSeries.get(label);
        TimeSeries series = new TimeSeries(label);
        for (Long key : duration.keySet()) {
            series.addOrUpdate(new Millisecond(new Date(key)), duration.get(key));
        }
        dataset.addSeries(series);
    }

    return ChartFactory.createTimeSeriesChart(definition.getTitle(), "Time", "Value", dataset);
}

From source file:com.geminimobile.chart.GeminiChartUtil.java

public void createReport(OutputStream out, List<ChartSeries> chartData, String strTitle,
        String strDomainAxisLabel) {

    strDomainAxisLabel = "Time Interval: " + strDomainAxisLabel;
    String strYAxisLabel;//from w w  w  . j  a v  a2 s  .  c  o m
    //String strCategoryType = " ";
    strYAxisLabel = "Count";
    //SimpleDateFormat sdf = new SimpleDateFormat("MMMM-dd hh:mm a");

    //build a dataset as needed by JFreeChart
    //      note: strCategoryType is for a chart with multiple categories.
    //      i.e. idisplay multiple bars for each time interval.
    //

    TimeSeriesCollection dataSet = new TimeSeriesCollection();

    // For each series of data, create a TimeSeries
    for (int i = 0; i < chartData.size(); i++) {
        ChartSeries chartSeries = chartData.get(i);

        TimeSeries timeSeries = new TimeSeries(chartSeries.getName(), Millisecond.class);
        List<ChartValueByTime> data = chartSeries.getData();

        //int cumulValue = 0;
        for (int j = 0; j < data.size(); j++) {
            ChartValueByTime chartVal = data.get(j);

            Millisecond ms = new Millisecond(new Date(chartVal.getTime()));

            // *NOT* Store the cumulative value . So maintain a running total.                
            //cumulValue += chartVal.getValue();
            //timeSeries.add(ms, cumulValue);
            timeSeries.add(ms, chartVal.getValue());
        }
        dataSet.addSeries(timeSeries);
    }

    JFreeChart lineChart = ChartFactory.createTimeSeriesChart(strTitle, // chart title
            strDomainAxisLabel, // domain axis label
            strYAxisLabel, // range axis label
            dataSet, // data
            true, // legend
            false, // tooltips
            false // urls
    );

    try {
        ChartUtilities.writeChartAsPNG(out, lineChart, 800, 400);
    } catch (IOException e) {
        e.printStackTrace();
    }

}

From source file:org.codehaus.mojo.chronos.chart.SummaryGCChartSource.java

public JFreeChart getChart(ResourceBundle bundle, ReportConfig config) {
    String beforeLabel = bundle.getString("chronos.label.gc.before");
    String afterLabel = bundle.getString("chronos.label.gc.after");
    TimeSeriesCollection dataset1 = new TimeSeriesCollection();
    TimeSeries heapBeforeSeries = new TimeSeries(beforeLabel, Millisecond.class);
    samples.extractHeapBefore(heapBeforeSeries);
    TimeSeries heapAfterSeries = new TimeSeries(afterLabel, Millisecond.class);
    samples.extractHeapAfter(heapAfterSeries);

    dataset1.addSeries(heapBeforeSeries);
    dataset1.addSeries(heapAfterSeries);
    TimeSeriesCollection dataset = dataset1;

    String title = bundle.getString("chronos.label.gc");
    String timeLabel = bundle.getString("chronos.label.gc.time");
    String valueLabel = bundle.getString("chronos.label.gc.mem");
    JFreeChart chart = ChartFactory.createTimeSeriesChart(title, timeLabel, valueLabel, dataset, true, true,
            false);/*from   w ww .j  a  va  2  s.com*/
    ChartUtil.setupXYPlot(chart, new SimpleDateFormat("HH:mm:ss"));
    return chart;
}