Example usage for org.jfree.chart JFreeChart getXYPlot

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

Introduction

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

Prototype

public XYPlot getXYPlot() 

Source Link

Document

Returns the plot cast as an XYPlot .

Usage

From source file:carfuzzy.Operations.java

public JFreeChart setToChart(double input, double membership, XYSeries series, XYSeriesCollection collection,
        String x_axis) { // kurallari cizdirdikten sonra cizdir.

    series.add(input, membership);/*from  ww  w  .j  a  v  a 2  s .  c  om*/
    series.add(input, 0);
    series.add(0, membership);
    collection.addSeries(series);

    JFreeChart chart = XYGraph.drawChart(collection, x_axis, "Membership");
    XYPlot plot = chart.getXYPlot();
    XYItemRenderer renderer = plot.getRenderer();

    renderer.setSeriesStroke(collection.getSeriesCount() - 1, new BasicStroke(3.5f));
    renderer.setSeriesStroke(collection.getSeriesCount() - 1, new BasicStroke(3.5f));
    plot.setRenderer(renderer);
    return chart;
}

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

/**
 * Creates the demo chart./*from  ww  w  .ja v  a 2 s .  co  m*/
 * 
 * @param title  the title.
 * @param dataset  the dataset.
 * 
 * @return The chart.
 */
private JFreeChart createChart(final String title, final XYDataset dataset) {

    final JFreeChart chart = ChartFactory.createTimeSeriesChart(title, "Date", "Price", dataset, true, true,
            false);

    chart.setBackgroundPaint(Color.white);
    final XYPlot plot = chart.getXYPlot();
    plot.setOrientation(PlotOrientation.VERTICAL);
    plot.setBackgroundPaint(Color.lightGray);
    plot.setDomainGridlinePaint(Color.white);
    plot.setRangeGridlinePaint(Color.white);
    //        plot.setAxisOffset(new Spacer(Spacer.ABSOLUTE, 5.0, 5.0, 5.0, 5.0));

    final StandardXYItemRenderer renderer = (StandardXYItemRenderer) plot.getRenderer();
    renderer.setPaint(Color.blue);

    return chart;

}

From source file:com.intel.stl.ui.configuration.view.VLStallCountByVLBarChartPanel.java

@Override
public void initComponents() {
    dataset = new XYSeriesCollection();

    JFreeChart chart = ComponentFactory.createXYBarChart(K0342_PORT_VL_TITLE.getValue(),
            K0347_PORT_VL_STALL_COUNT.getValue(), dataset, (XYItemLabelGenerator) null);

    XYPlot plot = chart.getXYPlot();
    plot.setDomainPannable(true);//w  ww . j a v  a2 s .  co  m
    plot.setRangePannable(true);
    final String vlLabel = "<html>" + K0342_PORT_VL_TITLE.getValue() + ": ";
    final String mtuLabel = "<br>" + K0347_PORT_VL_STALL_COUNT.getValue() + ": ";

    XYBarRenderer renderer = (XYBarRenderer) plot.getRenderer();
    renderer.setBarAlignmentFactor(0);
    renderer.setMargin(0.2);

    renderer.setSeriesToolTipGenerator(0, new XYToolTipGenerator() {
        @Override
        public String generateToolTip(XYDataset dataset, int arg1, int arg2) {
            int vlNum = (int) dataset.getXValue(arg1, arg2);
            int mtuCount = (int) dataset.getYValue(arg1, arg2);
            return vlLabel + vlNum + mtuLabel + mtuCount + "</html>";
        }
    });
    NumberAxis yAxis = (NumberAxis) plot.getRangeAxis();
    yAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    NumberAxis xAxis = (NumberAxis) plot.getDomainAxis();
    xAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    chartPanel = new ChartPanel(chart);
    chartPanel.setMouseWheelEnabled(true);
    chartPanel.setPreferredSize(PREFERRED_CHART_SIZE);
    propsPanel.add(chartPanel);
}

From source file:com.philng.telemetrydisplay.GraphDisplay.java

/**
 * Create the chart itself with datasets
 * @param dataset/*from  ww  w .j a  v a 2  s.co m*/
 * @return
 */
private JFreeChart createChart(final XYDataset dataset) {
    final JFreeChart result = ChartFactory.createTimeSeriesChart("Telemetry Display", "Time", "Voltage",
            dataset, true, true, false);
    final XYPlot plot = result.getXYPlot();

    // Add in a new y axis for current
    ValueAxis currentAxis = new NumberAxis();
    currentAxis.setRange(0, 100);
    currentAxis.setLabel("Current");

    plot.setRangeAxis(1, currentAxis);
    plot.setDataset(1, createDatasetCurrent());
    plot.mapDatasetToRangeAxis(1, 1);

    // Set information for the x axis (time)
    ValueAxis axis = plot.getDomainAxis();
    axis.setAutoRange(true);

    // Set the information for the voltage axis
    axis = plot.getRangeAxis();
    axis.setAutoRange(false);
    axis.setRange(0.0, 12.0);

    final XYItemRenderer renderer = plot.getRenderer();
    renderer.setToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance());
    if (renderer instanceof StandardXYItemRenderer) {
        final StandardXYItemRenderer rr = (StandardXYItemRenderer) renderer;
        rr.setShapesFilled(true);
    }

    final StandardXYItemRenderer renderer2 = new StandardXYItemRenderer();
    renderer2.setSeriesPaint(0, Color.GREEN);
    renderer.setToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance());
    plot.setRenderer(1, renderer2);

    return result;
}

From source file:EHRAppointment.ChartPanelDraw.java

private ChartPanel createChart(XYDataset dataset, String type) {
    final JFreeChart chart = ChartFactory.createTimeSeriesChart(type, "Date", getValueAxis(), dataset);

    chart.setBackgroundPaint(Color.white);

    final XYPlot plot = chart.getXYPlot();
    plot.setBackgroundPaint(Color.WHITE);
    plot.setDomainGridlinePaint(Color.black);
    plot.setRangeGridlinePaint(Color.black);

    final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setSeriesLinesVisible(0, true);
    plot.setRenderer(renderer);/*  w w  w.  j  a v  a2  s.  c  om*/

    final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    return new ChartPanel(chart);
}

From source file:net.sf.mzmine.chartbasics.gestures.ChartGestureEvent.java

/**
 * True if axis is vertical, false if horizontal, null if there was an error
 * //from   w  ww  .  j  av a2s. com
 * @param axis
 * @return
 */
public Boolean isVerticalAxis(ValueAxis axis) {
    if (axis == null)
        return null;
    JFreeChart chart = getChart();
    PlotOrientation orient = PlotOrientation.HORIZONTAL;
    if (chart.getXYPlot() != null)
        orient = chart.getXYPlot().getOrientation();
    else if (chart.getCategoryPlot() != null)
        orient = chart.getCategoryPlot().getOrientation();
    // error
    if (orient == null)
        return null;

    Entity entity = this.getGesture().getEntity();
    double start = 0;
    // horizontal
    if ((entity.equals(Entity.DOMAIN_AXIS) && orient.equals(PlotOrientation.VERTICAL))
            || (entity.equals(Entity.RANGE_AXIS) && orient.equals(PlotOrientation.HORIZONTAL))) {
        return false;
    }
    // vertical
    else if ((entity.equals(Entity.RANGE_AXIS) && orient.equals(PlotOrientation.VERTICAL))
            || (entity.equals(Entity.DOMAIN_AXIS) && orient.equals(PlotOrientation.HORIZONTAL))) {
        return true;
    }
    // error
    return null;
}

From source file:de.kletterfreak98.xmass.ui.BMIChart.java

public BMIChart(String title, TimeSeries values) {
    super(title);
    setIconImage(//from   ww w  . j  a  va  2 s  .  c o  m
            new ImageIcon(getClass().getClassLoader().getResource("de/kletterfreak98/xmass/resources/fav.png"))
                    .getImage());

    // create a title...
    final String chartTitle = strings.getString("bmicourse");
    final XYDataset dataset = new TimeSeriesCollection(values);

    final JFreeChart chart = ChartFactory.createTimeSeriesChart(chartTitle, strings.getString("date"),
            strings.getString("bmi"), dataset, false, true, false);

    final XYPlot plot = chart.getXYPlot();
    plot.setDataset(1, new TimeSeriesCollection(values));
    plot.mapDatasetToRangeAxis(1, 1);
    final XYItemRenderer renderer = plot.getRenderer();
    renderer.setToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance());
    if (renderer instanceof StandardXYItemRenderer) {
        final StandardXYItemRenderer rr = (StandardXYItemRenderer) renderer;
        rr.setShapesFilled(true);
    }

    final StandardXYItemRenderer renderer2 = new StandardXYItemRenderer();
    renderer2.setSeriesPaint(0, Color.black);
    renderer.setToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance());
    plot.setRenderer(1, renderer2);

    final DateAxis axis = (DateAxis) plot.getDomainAxis();
    SimpleDateFormat sdf;
    if (Main.settings.getLang().equals(Locale.GERMANY)) {
        sdf = new SimpleDateFormat("dd.MM.yyyy");
    } else {
        sdf = new SimpleDateFormat("MM/dd/yyyy");
    }
    axis.setDateFormatOverride(sdf);

    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
    JPanel panel = new JPanel();
    JButton close = new JButton(strings.getString("close"));
    close.setPreferredSize(new Dimension(close.getWidth(), 30));
    close.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            dispose();
        }
    });
    panel.setLayout(new BorderLayout());
    panel.add(chartPanel, BorderLayout.CENTER);
    panel.add(close, BorderLayout.SOUTH);
    panel.setPreferredSize(new java.awt.Dimension(500, 270));
    setContentPane(panel);
    setUndecorated(true);
}

From source file:org.fhcrc.cpl.viewer.mrm.utilities.MRMerMouseListener.java

public void mouseReleased(MouseEvent e) {
    try {//from  www.j a va2s.  co m
        if ((e.isShiftDown() || e.getButton() == MouseEvent.BUTTON3) || shifted) {
            //            Rectangle2D scaledDataArea = _chartPanel.getScreenDataArea(
            //                    (int) this.coElutionStart.getX(), (int) this.coElutionStart.getY());
            JFreeChart jfc = _cp.getChart();
            XYPlot p = jfc.getXYPlot();
            CenterZoomNumberAxis czna = (CenterZoomNumberAxis) p.getDomainAxis();
            Rectangle2D screenDataArea = _cp.getScreenDataArea(e.getX(), e.getY());
            Rectangle2D plotboundaries = _cp.getChartRenderingInfo().getPlotInfo().getPlotArea();

            double leftmostOnAxis = czna.getLowerBound();
            double rightmostOnAxis = czna.getUpperBound();
            double leftmostOnRange = this.coElutionRegion.getX();
            double rightmostOnRange = this.coElutionRegion.getX() + this.coElutionRegion.getWidth();
            double leftmostonscreen = screenDataArea.getX();
            double rightmostonscreen = leftmostonscreen + screenDataArea.getWidth();
            double slope = (rightmostOnAxis - leftmostOnAxis) / (rightmostonscreen - leftmostonscreen);
            double transformedLeftRange = (slope * (leftmostOnRange - leftmostonscreen)) + leftmostOnAxis;
            double transformedRightRange = (slope * (rightmostOnRange - leftmostonscreen)) + leftmostOnAxis;
            shifted = false;
            MRMDialog ultimateParent = (MRMDialog) MRMAncestor();
            if (ultimateParent != null) {
                MRMTransition transition = ultimateParent.transitionOnPlot;
                MRMTransition mrmt = transition;
                if (mrmt != null) {
                    int row = mrmt.getTableRow();
                    _ptm.data[row][MRMDialog.peaksData.CoStart.colno] = new Float(0f);
                    _ptm.data[row][MRMDialog.peaksData.CoEnd.colno] = new Float(10000000f);
                    _ptm.setValueAt(new Float(transformedRightRange), row, MRMDialog.peaksData.CoEnd.colno);
                    _ptm.setValueAt(new Float(transformedLeftRange), row, MRMDialog.peaksData.CoStart.colno);
                }
            }
            Graphics2D g2 = (Graphics2D) _cp.getGraphics();
            if (this.coElutionRegion != null)
                drawCoElutionRegion(g2);
            this.coElutionRegion = null;
            this.coElutionStart = null;
        } else {
            _cp.mouseReleased(e);
        }
    } catch (Exception ee) {
    }
}

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

protected final JFreeChart createResponseChart(String datasetName, ResponsetimeSamples samples,
        ResourceBundle bundle, ReportConfig config) {
    XYDataset dataset = createResponseDataset(datasetName, samples, bundle, config);

    String title = bundle.getString("chronos.label.responsetimes");
    String timeAxisLabel = bundle.getString("chronos.label.responsetimes.time");
    String valueAxisLabel = bundle.getString("chronos.label.responsetimes.responsetime");
    JFreeChart chart = ChartFactory.createTimeSeriesChart(title, timeAxisLabel, valueAxisLabel, dataset, true,
            true, false);/*from   w w  w .  j  av  a  2s . c o m*/
    ChartUtil.setupXYPlot(chart, new SimpleDateFormat("HH:mm:ss"));
    // change rendering order - so average is in front
    chart.getXYPlot().setSeriesRenderingOrder(SeriesRenderingOrder.FORWARD);

    if (config.isShowpercentile()) {
        String text = bundle.getString("chronos.label.percentile95.arrow");
        ChartUtil.addRangeMarker(chart.getXYPlot(), text,
                samples.getPercentile95(config.getResponsetimedivider()));
    }
    if (config.isShowaverage()) {
        String text = bundle.getString("chronos.label.average.arrow");
        ChartUtil.addRangeMarker(chart.getXYPlot(), text, samples.getAverage(config.getResponsetimedivider()));
    }
    return chart;
}

From source file:org.gwaspi.gui.qqPlot.java

/**
 * Runs the test./*from w  w w. j a  va  2s. c o m*/
 */
public void run() {

    this.finished = false;

    List<XYSeries> seriesArray = new ArrayList<XYSeries>();

    Random generator = new Random();
    int seriesNb = -1;
    XYSeriesCollection dataSeries = new XYSeriesCollection();
    XYSeries seriesData = new XYSeries("X");
    XYSeries seriesUpper = new XYSeries("Upper bound");
    XYSeries seriesLower = new XYSeries("Lower bound");

    int N = 10000;
    List<Double> rndChiSqrDist1 = org.gwaspi.statistics.Chisquare.getChiSquareDistributionDf1(N, 1.0f);
    Collections.sort(rndChiSqrDist1);
    List<Double> rndChiSqrDist2 = org.gwaspi.statistics.Chisquare.getChiSquareDistributionDf1(N, 1.0f);
    Collections.sort(rndChiSqrDist2);
    for (int i = 0; i < rndChiSqrDist1.size(); i++) {
        double obsVal = rndChiSqrDist1.get(i) + (generator.nextDouble() * 0.00001);
        double expVal = rndChiSqrDist2.get(i);

        // constant chi-square boundaries
        //         double upperVal = expVal*1.05;
        //         double lowerVal = expVal*0.95;
        //         double upperVal = expVal+Math.pow(Math.E,(1.96*Math.sqrt(1/expVal)));
        //         double lowerVal = expVal-Math.pow(Math.E,(1.96*Math.sqrt(1/expVal)));
        double upperVal = expVal + 1.96 * Math.sqrt(0.05 * (1 - 0.05 / N));
        double lowerVal = expVal - 1.96 * Math.sqrt(0.05 * (1 - 0.05 / N));

        seriesData.add(obsVal, expVal);
        seriesLower.add(expVal, lowerVal);
        seriesUpper.add(expVal, upperVal);
    }

    dataSeries.addSeries(seriesData);
    dataSeries.addSeries(seriesLower);
    dataSeries.addSeries(seriesUpper);
    final XYDataset data = dataSeries;

    // create a scatter chart...
    final boolean withLegend = true;
    JFreeChart chart = ChartFactory.createScatterPlot("QQ-plot", "Obs X", "Exp X", data,
            PlotOrientation.VERTICAL, withLegend, false, false);

    final XYPlot plot = chart.getXYPlot();
    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(false, true);
    renderer.setSeriesPaint(0, Color.blue);
    renderer.setSeriesPaint(1, Color.gray);
    renderer.setSeriesPaint(2, Color.gray);

    renderer.setBaseShapesVisible(true);
    renderer.setBaseShapesFilled(true);
    renderer.setSeriesShape(0, new Rectangle2D.Double(-1.0, -1.0, 2.0, 2.0));
    renderer.setSeriesShape(1, new Rectangle2D.Double(-2.0, 0.0, 4.0, 0.0));
    renderer.setSeriesShape(2, new Rectangle2D.Double(-2.0, 0.0, 4.0, 0.0));

    plot.setRenderer(renderer);

    try {
        ChartUtilities.saveChartAsPNG(new File(System.getProperty("user.home") + "/Desktop/QQ_plot.png"), chart,
                400, 400);
    } catch (IOException ex) {
        log.error("Problem occurred creating chart", ex);
    }
}