Example usage for org.jfree.chart.axis DateTickUnitType HOUR

List of usage examples for org.jfree.chart.axis DateTickUnitType HOUR

Introduction

In this page you can find the example usage for org.jfree.chart.axis DateTickUnitType HOUR.

Prototype

DateTickUnitType HOUR

To view the source code for org.jfree.chart.axis DateTickUnitType HOUR.

Click Source Link

Document

Hour.

Usage

From source file:com.freedomotic.jfrontend.extras.GraphPanel.java

private void createChart(UsageDataFrame points, String title) {
    series = new TimeSeries(title);

    for (UsageData d : points.getData()) {
        Date resultdate = d.getDateTime();
        Millisecond ms_read = new Millisecond(resultdate);
        int poweredValue = -1;
        if (d.getObjBehavior().equalsIgnoreCase("powered")) {
            poweredValue = d.getObjValue().equalsIgnoreCase("true") ? 1 : 0;
        } else if (d.getObjBehavior().equalsIgnoreCase("brigthness")) {
            try {
                poweredValue = Integer.parseInt(d.getObjValue());
            } catch (NumberFormatException ex) {
                poweredValue = -1;// w  ww  . j a  va  2 s  .com
            }
        }
        series.addOrUpdate(ms_read, poweredValue);
    }

    XYDataset xyDataset = new TimeSeriesCollection(series);

    chart = ChartFactory.createTimeSeriesChart("Chart", "TIME", "VALUE", xyDataset, true, // legend
            true, // tooltips
            false // urls
    );
    chart.setAntiAlias(true);
    // Set plot styles
    XYPlot plot = (XYPlot) chart.getPlot();
    plot.setBackgroundPaint(Color.lightGray);
    plot.setDomainGridlinePaint(Color.white);
    plot.setRangeGridlinePaint(Color.white);
    plot.setAxisOffset(new RectangleInsets(2.0, 2.0, 2.0, 2.0));
    // Set series line styles
    plot.setRenderer(new XYStepRenderer());

    XYItemRenderer r = plot.getRenderer();
    if (r instanceof XYLineAndShapeRenderer) {
        XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;
        renderer.setShapesVisible(true);
        renderer.setShapesFilled(true);
    }

    // Set date axis style
    DateAxis axis = (DateAxis) plot.getDomainAxis();

    String formatString = "MM-dd HH";
    DateTickUnitType dtut = DateTickUnitType.HOUR;

    if (jComboGranularity.getSelectedItem().equals("Year")) {
        formatString = "yyyy";
        dtut = DateTickUnitType.YEAR;
    } else if (jComboGranularity.getSelectedItem().equals("Month")) {
        axis.setDateFormatOverride(new SimpleDateFormat("yyyy-MM"));
        dtut = DateTickUnitType.MONTH;
    } else if (jComboGranularity.getSelectedItem().equals("Day")) {
        axis.setDateFormatOverride(new SimpleDateFormat("MM-dd"));
        dtut = DateTickUnitType.DAY;
    } else if (jComboGranularity.getSelectedItem().equals("Minute")) {
        formatString = "MM-dd HH:mm";
        dtut = DateTickUnitType.MINUTE;
    } else if (jComboGranularity.getSelectedItem().equals("Second")) {
        formatString = "HH:mm:SS";
        dtut = DateTickUnitType.SECOND;
    }

    DateFormat formatter = new SimpleDateFormat(formatString);
    DateTickUnit unit = new DateTickUnit(dtut, 1, formatter);
    axis.setTickUnit(unit);

    ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(800, 500));
    graphPanel.removeAll();
    graphPanel.add(chartPanel);

}

From source file:edu.jhuapl.graphs.jfreechart.JFreeChartTimeSeriesGraphSource.java

private static DateTickUnit getDateTickUnit(TimeResolution minimumResolution, int qty) throws GraphException {
    DateTickUnitType dateTypeUnit;//from   ww w.  j a v  a 2  s.  c o  m
    switch (minimumResolution) {
    case HOURLY:
        dateTypeUnit = DateTickUnitType.HOUR;
        break;
    case DAILY:
    case WEEKLY:
        dateTypeUnit = DateTickUnitType.DAY;
        break;
    case MONTHLY:
        dateTypeUnit = DateTickUnitType.MONTH;
        break;
    case YEARLY:
        dateTypeUnit = DateTickUnitType.YEAR;
        break;
    default:
        throw new GraphException("Unrecognized resolution \"" + minimumResolution + "\"");
    }

    return new DateTickUnit(dateTypeUnit, qty);
}

From source file:beproject.MainGUI.java

void createTimeLine() throws SQLException {
    TimeSeriesCollection dataset = new TimeSeriesCollection();
    getTimeLineData(dataset);/*from ww  w  .ja  va2  s  .co m*/
    DateAxis domain = new DateAxis("Time");
    NumberAxis range = new NumberAxis("Tweet Count");
    XYItemRenderer renderer = new XYLineAndShapeRenderer(true, false);
    renderer.setSeriesPaint(1, Color.BLUE);
    renderer.setSeriesStroke(0, new BasicStroke(3f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL));
    renderer.setSeriesStroke(1, new BasicStroke(3f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL));
    XYPlot plot = new XYPlot(dataset, domain, range, renderer);
    domain.setAutoRange(true);
    domain.setTickUnit(new DateTickUnit(DateTickUnitType.HOUR, 2, Regression.sdf));
    domain.setLowerMargin(0.0);
    domain.setUpperMargin(0.0);
    domain.setTickLabelsVisible(true);
    range.setTickLabelsVisible(true);

    plot.setDomainGridlinesVisible(false);
    range.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    renderer.setBaseItemLabelsVisible(true);

    JFreeChart liveTweetAnalysisChart = new JFreeChart("Rate of tweets per hour",
            new Font("Tahoma", Font.BOLD, 24), plot, true);
    liveTweetAnalysisChart.setBorderVisible(false);

    ChartUtilities.applyCurrentTheme(liveTweetAnalysisChart);

    domain.setTickLabelInsets(RectangleInsets.ZERO_INSETS);
    range.setTickMarksVisible(false);
    range.setTickLabelInsets(RectangleInsets.ZERO_INSETS);
    domain.setTickMarksVisible(false);
    liveTweetAnalysisChart.setPadding(RectangleInsets.ZERO_INSETS);

    ChartPanel liveTweetAnalysisChartPanel = new ChartPanel(liveTweetAnalysisChart, true);
    liveTweetAnalysisChartPanel.setBorder(null);

    if (timeLineChart == null) {
        timeLineChart = liveTweetAnalysisChartPanel;
    } else {
        timeLinePanel.remove(timeLineChart);
        timeLineChart = liveTweetAnalysisChartPanel;
    }
    timeLinePanel.add(timeLineChart);
    timeLinePanel.validate();
}

From source file:net.sf.jasperreports.chartthemes.spring.GenericChartTheme.java

/**
 * Returns the specific org.jfree.chart.axis.DateTickUnit time unit constant
 * related to the String value passed as argument
 * //ww w.  j  a  v  a2  s. com
 * @param timePeriodUnit - a String represented by one of the following
 * accepted values: ["Year", "Month", "Day", "Hour", "Minute", "Second", "Millisecond"]
 * @return the specific org.jfree.chart.axis.DateTickUnit time unit constant
 */
protected DateTickUnitType getTimePeriodUnit(String timePeriodUnit) {
    if (timePeriodUnit == null)
        return DateTickUnitType.DAY;
    return timePeriodUnit.equals("Year") ? DateTickUnitType.YEAR
            : timePeriodUnit.equals("Month") ? DateTickUnitType.MONTH
                    : timePeriodUnit.equals("Hour") ? DateTickUnitType.HOUR
                            : timePeriodUnit.equals("Minute") ? DateTickUnitType.MINUTE
                                    : timePeriodUnit.equals("Second") ? DateTickUnitType.SECOND
                                            : timePeriodUnit.equals("Millisecond")
                                                    ? DateTickUnitType.MILLISECOND
                                                    : DateTickUnitType.DAY;
}