Example usage for org.jfree.chart JFreeChart JFreeChart

List of usage examples for org.jfree.chart JFreeChart JFreeChart

Introduction

In this page you can find the example usage for org.jfree.chart JFreeChart JFreeChart.

Prototype

public JFreeChart(Plot plot) 

Source Link

Document

Creates a new chart based on the supplied plot.

Usage

From source file:de.unibayreuth.bayeos.goat.panels.timeseries.JPanelDetailLab.java

public boolean loadData() {
    super.loadData();

    LaborTableModel m = new LaborTableModel(app.getXmlClient());
    m.load(objektNode, t, s);/*from  w ww  .  ja  va  2  s .com*/
    panelLab.setModel(m);
    panelLab.setObjektNode(objektNode);

    // Grafik
    XYDataset xyDataset = new TableModelXYDataset(m, true);
    StatusItemRenderer statusRenderer = new StatusItemRenderer(m, LAB_COL_STAT_ID);

    NumberAxis rangeAxis = new NumberAxis(
            ChartUtils.getNumberAxisLabel(app.getXmlClient(), objektNode.getId()));
    DateAxis domainAxis = new DateAxis("Time");
    Plot plot = new StatusXYPlot(xyDataset, domainAxis, rangeAxis, statusRenderer);
    JFreeChart f = new JFreeChart(plot);
    StandardLegend l = new StandardLegend(f);

    panelChart.setChart(f);
    panelChart.setLegend(l);

    // Link 
    m.addTableModelListener(new TableModelListener() {
        public void tableChanged(TableModelEvent e) {
            panelChart.repaint();
        }

    });

    return true;
}

From source file:inflor.core.plots.HistogramPlot.java

@Override
public JFreeChart createChart(FCSFrame dataFrame, TransformSet transforms) {

    Optional<FCSDimension> domainDimension = FCSUtilities.findCompatibleDimension(dataFrame,
            spec.getDomainAxisName());//from  w w w  . j a v a2  s  .c  om

    AbstractTransform transform = transforms.get(domainDimension.get().getShortName());
    double[] transformedData = transform.transform(domainDimension.get().getData());

    Histogram1D hist = new Histogram1D(transformedData, transform.getMinTranformedValue(),
            transform.getMaxTransformedValue(), ChartingDefaults.BIN_COUNT);

    DefaultXYDataset dataset = new DefaultXYDataset();
    dataset.addSeries(dataFrame.getDisplayName(), hist.getData());

    ValueAxis domainAxis = PlotUtils.createAxis(domainDimension.get().getDisplayName(), transform);
    ValueAxis rangeAxis = new NumberAxis(spec.getRangeAxisName());
    FillType fillType = FillType.TO_ZERO;
    XYItemRenderer renderer = new XYSplineRenderer(1, fillType);
    renderer.setSeriesShape(0, ShapeUtilities.createDiamond(Float.MIN_VALUE));// Make the points
                                                                              // invisible
    XYPlot plot = new XYPlot(dataset, domainAxis, rangeAxis, renderer);
    return new JFreeChart(plot);
}

From source file:de.unibayreuth.bayeos.goat.panels.timeseries.JPanelDetailMatrix.java

public boolean loadData() {
    super.loadData();

    OctetMatrixTableModel m = new OctetMatrixTableModel(app.getXmlClient());
    if (aggregateEnabled) {
        m.load(nodes, t, a, withAggrCounts);
    } else {// w w  w  .  j  ava  2  s.  c o  m
        m.load(nodes, t, s, withStatusCols);
    }

    panelTab.setModel(m);
    panelTab.setObjektNode(objektNode);

    // Grafik
    XYDataset xyDataset = new TableModelXYDataset(m);

    DateAxis domainAxis = new DateAxis("Time");
    XYPlot plot = new XYPlot(xyDataset, domainAxis, new NumberAxis("Values"), new DefaultItemRenderer());

    panelChart.setChart(new JFreeChart(plot));
    panelChart.setLegend(new StandardLegend());
    return true;
}

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

public static JFreeChart createChart() {
    DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();
    dataset1.addValue(1.0D, "S1", "Category 1");
    dataset1.addValue(4D, "S1", "Category 2");
    dataset1.addValue(3D, "S1", "Category 3");
    dataset1.addValue(5D, "S1", "Category 4");
    dataset1.addValue(5D, "S1", "Category 5");
    dataset1.addValue(7D, "S1", "Category 6");
    dataset1.addValue(7D, "S1", "Category 7");
    dataset1.addValue(8D, "S1", "Category 8");
    dataset1.addValue(5D, "S2", "Category 1");
    dataset1.addValue(7D, "S2", "Category 2");
    dataset1.addValue(6D, "S2", "Category 3");
    dataset1.addValue(8D, "S2", "Category 4");
    dataset1.addValue(4D, "S2", "Category 5");
    dataset1.addValue(4D, "S2", "Category 6");
    dataset1.addValue(2D, "S2", "Category 7");
    dataset1.addValue(1.0D, "S2", "Category 8");
    DefaultCategoryDataset dataset2 = new DefaultCategoryDataset();
    dataset2.addValue(9D, "T1", "Category 1");
    dataset2.addValue(7D, "T1", "Category 2");
    dataset2.addValue(2D, "T1", "Category 3");
    dataset2.addValue(6D, "T1", "Category 4");
    dataset2.addValue(6D, "T1", "Category 5");
    dataset2.addValue(9D, "T1", "Category 6");
    dataset2.addValue(5D, "T1", "Category 7");
    dataset2.addValue(4D, "T1", "Category 8");
    DefaultCategoryDataset dataset3 = new DefaultCategoryDataset();
    dataset3.addValue(94D, "R1", "Category 1");
    dataset3.addValue(75D, "R1", "Category 2");
    dataset3.addValue(22D, "R1", "Category 3");
    dataset3.addValue(74D, "R1", "Category 4");
    dataset3.addValue(83D, "R1", "Category 5");
    dataset3.addValue(9D, "R1", "Category 6");
    dataset3.addValue(23D, "R1", "Category 7");
    dataset3.addValue(98D, "R1", "Category 8");
    ////from w ww  .j a v  a  2  s .c om
    StandardCategoryItemLabelGenerator standardcategoryitemlabelgenerator = new StandardCategoryItemLabelGenerator();
    BarRenderer renderer1 = new BarRenderer();
    renderer1.setBaseItemLabelGenerator(standardcategoryitemlabelgenerator);
    renderer1.setBaseItemLabelsVisible(true);
    LineAndShapeRenderer renderer2 = new LineAndShapeRenderer();
    LineAndShapeRenderer renderer3 = new LineAndShapeRenderer();
    //plot
    CategoryPlot plot = new CategoryPlot();
    plot.setDataset(dataset1);
    plot.setRenderer(renderer1);
    plot.setDataset(1, dataset2);
    plot.setRenderer(1, renderer2);
    plot.setDataset(2, dataset3);
    plot.setRenderer(2, renderer3);
    plot.setDomainAxis(new CategoryAxis("Category"));
    //more rangeAxis
    plot.setRangeAxis(new NumberAxis("Value"));
    plot.setRangeAxis(1, new NumberAxis("Axis 2"));
    plot.mapDatasetToRangeAxis(2, 1);
    //
    plot.setOrientation(PlotOrientation.VERTICAL);
    plot.setRangeGridlinesVisible(true);
    plot.setDomainGridlinesVisible(true);
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
    plot.getDomainAxis().setCategoryLabelPositions(CategoryLabelPositions.UP_45);
    //chart
    JFreeChart chart = new JFreeChart(plot);
    chart.setTitle("Overlaid Bar Chart");
    return chart;
}

From source file:net.sf.maltcms.common.charts.api.CategoryChartBuilder.java

/**
 *
 */
public CategoryChartBuilder() {
    plot = new CategoryPlot(dataset, domainAxis, rangeAxis, renderer);
    chart = new JFreeChart(plot);
}

From source file:edu.ucla.stat.SOCR.chart.demo.CompassDemo1.java

/**
 * Creates a chart.//from  w  w w  .  java  2 s  . co m
 * 
 * @param dataset  the dataset.
 * 
 * @return The chart.
 */
protected JFreeChart createChart(ValueDataset dataset) {

    CompassPlot plot = new CompassPlot(dataset);
    plot.setSeriesNeedle(7);
    plot.setSeriesPaint(0, Color.red);
    plot.setSeriesOutlinePaint(0, Color.red);
    plot.setRoseHighlightPaint(Color.CYAN);
    JFreeChart chart = new JFreeChart(plot);
    return chart;

}

From source file:it.marcoberri.mbmeteo.action.chart.GetLastRDial.java

/**
 * Processes requests for both HTTP//  w  ww. java2 s .c o  m
 * <code>GET</code> and
 * <code>POST</code> methods.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    log.debug("start : " + this.getClass().getName());

    final HashMap<String, String> params = getParams(request.getParameterMap());
    final Integer dimy = Default.toInteger(params.get("dimy"), 600);
    final Integer dimx = Default.toInteger(params.get("dimx"), 800);

    Meteolog meteolog = ds.find(Meteolog.class).order("-time").limit(1).get();

    DefaultValueDataset dataset = new DefaultValueDataset(meteolog.getDayRainfall());

    // get data for diagrams
    DialPlot plot = new DialPlot();
    plot.setView(0.0, 0.0, 1.0, 1.0);
    plot.setDataset(0, dataset);

    GradientPaint gp = new GradientPaint(new Point(), new Color(255, 255, 255), new Point(),
            new Color(170, 170, 220));

    DialBackground db = new DialBackground(gp);

    db.setGradientPaintTransformer(
            new StandardGradientPaintTransformer(GradientPaintTransformType.CENTER_HORIZONTAL));
    plot.setBackground(db);

    StandardDialScale scale = new StandardDialScale();
    scale.setLowerBound(0);
    scale.setUpperBound(50);
    scale.setTickLabelOffset(0.14);
    scale.setTickLabelFont(new Font("Dialog", Font.PLAIN, 10));
    plot.addScale(0, scale);

    DialPointer needle = new DialPointer.Pointer(0);

    plot.addLayer(needle);

    JFreeChart chart1 = new JFreeChart(plot);
    chart1.setTitle("Daily Rain mm");

    final File f = File.createTempFile("mbmeteo", ".jpg");
    ChartUtilities.saveChartAsJPEG(f, chart1, dimx, dimy);

    response.setContentType("image/jpeg");
    response.setHeader("Content-Length", "" + f.length());
    response.setHeader("Content-Disposition", "inline; filename=\"" + f.getName() + "\"");
    final OutputStream out = response.getOutputStream();
    final FileInputStream in = new FileInputStream(f.toString());
    final int size = in.available();
    final byte[] content = new byte[size];
    in.read(content);
    out.write(content);
    in.close();
    out.close();
}

From source file:it.alus.GPSreceiver.instruments.Accelerometer.java

public Accelerometer() {
    super(null);//from   w ww  . j a  v a2s .c om
    dataset = new DefaultValueDataset(0.0);
    DialPlot plot = new DialPlot();
    plot.setView(0.0, 0.0, 1.0, 1.0);
    plot.setDataset(0, dataset);
    StandardDialFrame dialFrame = new StandardDialFrame();
    dialFrame.setBackgroundPaint(Color.lightGray);
    dialFrame.setForegroundPaint(Color.gray);
    DialTextAnnotation titleLabel = new DialTextAnnotation("Acceleration");
    titleLabel.setFont(new Font("Arial", 1, 18));
    titleLabel.setRadius(0.45D);
    titleLabel.setAngle(90);
    titleLabel.setPaint(Color.lightGray);
    plot.addLayer(titleLabel);
    DialValueIndicator valueindicator = new DialValueIndicator(0);
    plot.addLayer(valueindicator);
    DialTextAnnotation annotation = new DialTextAnnotation("g");
    annotation.setFont(new Font("Arial", 1, 20));
    annotation.setRadius(0.4D);
    annotation.setPaint(Color.lightGray);
    plot.addLayer(annotation);
    plot.setDialFrame(dialFrame);
    StandardDialScale scale = new StandardDialScale(-1, 3, -95, -340, 1, 20);
    scale.setMajorTickPaint(Color.white);
    scale.setMinorTickPaint(Color.lightGray);
    scale.setFirstTickLabelVisible(true);
    scale.setTickRadius(0.88);
    scale.setTickLabelOffset(0.15);
    NumberFormat formatter = new DecimalFormat("#");
    scale.setTickLabelFormatter(formatter);
    scale.setTickLabelFont(new Font("Arial", Font.BOLD, 24));
    scale.setTickLabelPaint(Color.white);
    plot.addScale(0, scale);
    plot.setBackground(new DialBackground(Color.black));
    Pointer needle = new Pointer(0);
    needle.setFillPaint(Color.white);
    plot.addLayer(needle);
    plot.mapDatasetToScale(1, 1);
    DialCap cap = new DialCap();
    cap.setRadius(0.10);
    cap.setFillPaint(Color.gray);
    plot.setCap(cap);
    jChart = new JFreeChart(plot);
    super.setChart(jChart);
    super.setPreferredSize(new Dimension(400, 400));
}

From source file:com.ewcms.plugin.report.generate.service.chart.ChartGenerationService.java

/**
 * 3D/*from w ww.ja v a 2 s.c o m*/
 *
 * @param title 
 * @param titleFont 
 * @param data ??
 * @param order
 * @param legend 
 * @param tooltips ????
 * @param urls ??URL
 * @param urlGenerator
 *
 * @return 
 */
public static JFreeChart create3DPieChart(String title, java.awt.Font titleFont, CategoryDataset data,
        TableOrder order, boolean legend, boolean tooltips, boolean urls, PieURLGenerator urlGenerator) {

    MultiplePiePlot plot = new MultiplePiePlot(data);
    plot.setDataExtractOrder(order);

    // plot.setOutlineStroke(null);

    JFreeChart pieChart = new JFreeChart(new PiePlot3D(null));
    pieChart.setBackgroundPaint(null);
    plot.setPieChart(pieChart);

    PiePlot3D pp = (PiePlot3D) plot.getPieChart().getPlot();
    pp.setBackgroundPaint(null);
    // pp.setInsets(new Insets(0, 5, 5, 5));

    pp.setOutlineStroke(null);

    PieToolTipGenerator tooltipGenerator = null;
    if (tooltips) {
        tooltipGenerator = new StandardPieToolTipGenerator();
    }

    if (!urls) {
        urlGenerator = null;
    }

    pp.setToolTipGenerator(tooltipGenerator);
    pp.setLabelGenerator(null);
    pp.setURLGenerator(urlGenerator);
    JFreeChart chart = new JFreeChart(title, titleFont, plot, legend);

    return chart;
}

From source file:it.marcoberri.mbmeteo.action.chart.GetLastTDial.java

/**
 * Processes requests for both HTTP/*from  w ww  . ja v  a  2s  .c  o  m*/
 * <code>GET</code> and
 * <code>POST</code> methods.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    log.debug("start : " + this.getClass().getName());

    final HashMap<String, String> params = getParams(request.getParameterMap());
    final Integer dimy = Default.toInteger(params.get("dimy"), 600);
    final Integer dimx = Default.toInteger(params.get("dimx"), 800);

    Meteolog meteolog = ds.find(Meteolog.class).order("-time").limit(1).get();

    DefaultValueDataset dataset = new DefaultValueDataset(meteolog.getOutdoorTemperature());

    // get data for diagrams
    DialPlot plot = new DialPlot();
    plot.setView(0.0, 0.0, 1.0, 1.0);
    plot.setDataset(0, dataset);

    GradientPaint gp = new GradientPaint(new Point(), new Color(255, 255, 255), new Point(),
            new Color(170, 170, 220));

    DialBackground db = new DialBackground(gp);

    db.setGradientPaintTransformer(
            new StandardGradientPaintTransformer(GradientPaintTransformType.CENTER_HORIZONTAL));
    plot.setBackground(db);

    StandardDialScale scale = new StandardDialScale();
    scale.setLowerBound(-20);
    scale.setUpperBound(40);
    scale.setTickLabelOffset(0.14);
    scale.setTickLabelFont(new Font("Dialog", Font.PLAIN, 10));
    plot.addScale(0, scale);

    DialPointer needle = new DialPointer.Pointer(0);

    plot.addLayer(needle);

    JFreeChart chart1 = new JFreeChart(plot);
    chart1.setTitle("Temperature C");

    final File f = File.createTempFile("mbmeteo", ".jpg");
    ChartUtilities.saveChartAsJPEG(f, chart1, dimx, dimy);

    response.setContentType("image/jpeg");
    response.setHeader("Content-Length", "" + f.length());
    response.setHeader("Content-Disposition", "inline; filename=\"" + f.getName() + "\"");
    final OutputStream out = response.getOutputStream();
    final FileInputStream in = new FileInputStream(f.toString());
    final int size = in.available();
    final byte[] content = new byte[size];
    in.read(content);
    out.write(content);
    in.close();
    out.close();
}