Example usage for org.jfree.chart.renderer.xy XYLineAndShapeRenderer setBaseShapesVisible

List of usage examples for org.jfree.chart.renderer.xy XYLineAndShapeRenderer setBaseShapesVisible

Introduction

In this page you can find the example usage for org.jfree.chart.renderer.xy XYLineAndShapeRenderer setBaseShapesVisible.

Prototype

public void setBaseShapesVisible(boolean flag) 

Source Link

Document

Sets the base 'shapes visible' flag and sends a RendererChangeEvent to all registered listeners.

Usage

From source file:DashboardInterface.LaunchGraph.java

public void addDataset(String title, int index, int range) {
    XYSplineRenderer render = new XYSplineRenderer();
    TimeSeriesCollection dataset = new TimeSeriesCollection();
    TimeSeries series = new TimeSeries(title);
    dataset.addSeries(series);//w  ww . j av  a  2s.co m
    XYDataset xyDataset = dataset;

    plot.setDataset(index, xyDataset);
    plot.setRenderer(index, render);

    NumberAxis axis = new NumberAxis(title);
    axis.setRange(0, range);

    plot.setRangeAxis(index, axis);
    plot.mapDatasetToRangeAxis(index, index);

    XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRendererForDataset(xyDataset);
    renderer.setBaseShapesVisible(false);
    renderer.setBaseShapesFilled(false);
}

From source file:org.imos.abos.plot.JfreeChartDemo.java

public void createAndShowGUI() {
    JButton autoZoom = new JButton("Auto Scale");
    autoZoom.addActionListener(new ActionListener() {
        @Override/*from   w w  w  . ja  v  a 2s  .co m*/
        public void actionPerformed(ActionEvent e) {
            System.out.println("Auto Zoom");

            chart.getXYPlot().getDomainAxis().setAutoRange(true);
            chart.getXYPlot().getRangeAxis().setAutoRange(true);
        }
    });
    JButton pdfButton = new JButton("PDF");
    pdfButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            System.out.println("PDF");
            createPDF(pdfName);
        }
    });
    yMax = new JTextField(10);
    yMax.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            System.out.println("yMax Set " + yMax.getText());
            double max = new Double(yMax.getText());
            double min = chart.getXYPlot().getRangeAxis().getRange().getLowerBound();
            chart.getXYPlot().getRangeAxis().setRange(min, max);
        }
    });
    yMin = new JTextField(10);
    yMin.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            System.out.println("yMin Set " + yMin.getText());
            double min = new Double(yMin.getText());
            double max = chart.getXYPlot().getRangeAxis().getRange().getUpperBound();
            chart.getXYPlot().getRangeAxis().setRange(min, max);
        }
    });
    JCheckBox showPoints = new JCheckBox("Show Points");
    showPoints.addItemListener(new ItemListener() {

        @Override
        public void itemStateChanged(ItemEvent e) {
            if (e.getStateChange() == ItemEvent.DESELECTED) {
                XYItemRenderer r = plot.getRenderer();
                if (r instanceof XYLineAndShapeRenderer) {
                    XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;
                    renderer.setBaseShapesVisible(false);
                }
            } else if (e.getStateChange() == ItemEvent.SELECTED) {
                XYItemRenderer r = plot.getRenderer();
                if (r instanceof XYLineAndShapeRenderer) {
                    XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;
                    renderer.setBaseShapesVisible(true);
                }
            }
        }

    });

    final JPanel jpanel = new JPanel();
    jpanel.setLayout(new BorderLayout());
    jpanel.add(chartPanel, BorderLayout.CENTER);
    JPanel right = new JPanel();
    JPanel ypmax = new JPanel();
    ypmax.add(yMax);
    JPanel ypmin = new JPanel();
    ypmin.add(yMin);
    right.setLayout(new BoxLayout(right, BoxLayout.PAGE_AXIS));
    right.add(ypmax);
    right.add(ypmin);
    right.add(autoZoom);
    right.add(pdfButton);
    right.add(showPoints);
    jpanel.add(right, BorderLayout.LINE_END);

    setContentPane(jpanel);

    pack();
    setLocationRelativeTo(null);
    setVisible(true);
}

From source file:com.jbombardier.console.charts.XYTimeChartPanel.java

public void setShapesVisible(boolean visible) {
    XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer) xyplot.getRenderer();
    xylineandshaperenderer.setBaseShapesVisible(visible);
    xylineandshaperenderer.setBaseShapesFilled(visible);
}

From source file:DashboardInterface.LaunchGraph.java

/**
* Creates a chart.//from w w  w . j av  a 2s. co  m
*
* @param dataset  a dataset.
*
* @return A chart.
*/
private JFreeChart createChart(XYDataset dataset) {

    JFreeChart chart = ChartFactory.createXYLineChart("Speed, Height and Tension v Time:", // title
            "Time", // x-axis label
            "Speed", // y-axis label
            null, // data
            PlotOrientation.VERTICAL, true, // create legend?
            true, // generate tooltips?
            false // generate URLs?
    );

    chart.setBackgroundPaint(Color.white);

    plot = chart.getXYPlot();
    XYSplineRenderer splinerenderer1 = new XYSplineRenderer();
    XYSplineRenderer splinerenderer2 = new XYSplineRenderer();
    XYSplineRenderer splinerenderer3 = new XYSplineRenderer();

    XYDataset dataset1 = createDataset(0L, 130000);
    plot.setDataset(0, dataset1);
    plot.setRenderer(0, splinerenderer1);
    plot.getRenderer().setSeriesPaint(0, Color.MAGENTA);
    NumberAxis domainAxis = new NumberAxis("Time (Seconds from Start of Launch)");
    plot.setDomainAxis(domainAxis);
    //domainAxis.setRange(0, 30);
    NumberAxis heightYAxis = new NumberAxis("Height");
    heightYAxis.setRange(0, 1050);
    plot.setRangeAxis(heightYAxis);
    datasetMap.put("HEIGHT", dataset1);

    XYDataset dataset2 = createDataset2();
    plot.setDataset(1, dataset2);
    plot.setRenderer(1, splinerenderer2);
    plot.getRenderer().setSeriesPaint(1, Color.BLUE);
    NumberAxis speedYAxis = new NumberAxis("Speed");
    speedYAxis.setRange(0, 50);
    plot.setRangeAxis(1, speedYAxis);
    datasetMap.put("SPEED", dataset2);

    XYDataset dataset3 = createDataset3();
    plot.setDataset(2, dataset3);
    plot.setRenderer(2, splinerenderer3);
    NumberAxis tensionYAxis = new NumberAxis("Tension");
    plot.getRenderer().setSeriesPaint(2, Color.RED);
    tensionYAxis.setRange(0, 8000);
    plot.setRangeAxis(2, tensionYAxis);
    datasetMap.put("TENSION", dataset3);

    plot.mapDatasetToRangeAxis(0, 0);//1st dataset to 1st y-axis
    plot.mapDatasetToRangeAxis(1, 1); //2nd dataset to 2nd y-axis
    plot.mapDatasetToRangeAxis(2, 2);

    //float[] dashArray = {1,1,1,0};
    //plot.addRangeMarker(new ValueMarker(maxTensionMarker, Color.YELLOW, new BasicStroke(1, 0, 0, 1, dashArray, 0)));
    //XYTextAnnotation text = new XYTextAnnotation("Max Tension", 10, maxTensionMarker);
    //text.setFont(new Font("SansSerif", Font.PLAIN, 9));
    //plot.addAnnotation(text);

    XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer();
    renderer.setBaseShapesVisible(false);
    renderer.setBaseShapesFilled(false);

    XYLineAndShapeRenderer renderer2 = (XYLineAndShapeRenderer) plot.getRendererForDataset(speedDataset);
    renderer2.setBaseShapesVisible(false);
    renderer2.setBaseShapesFilled(false);

    XYLineAndShapeRenderer renderer3 = (XYLineAndShapeRenderer) plot.getRendererForDataset(tensionDataset);
    renderer3.setBaseShapesVisible(false);
    renderer3.setBaseShapesFilled(false);

    return chart;
}

From source file:com.github.dougkelly88.FLIMPlateReaderGUI.FLIMClasses.Classes.FindMaxpoint.java

/**
 * Creates a chart./*from  w  w w  .j  a  v a  2  s .c  om*/
 * 
 * @param dataset  the data for the chart.
 * 
 * @return a chart.
 */
public JFreeChart createChart() {

    //http://www.java2s.com/Code/Java/Chart/JFreeChartDualAxisDemo2.htm
    String xlabel = "Delay (ps)";
    String ylabel = "Signal (DN)";

    // create the chart with findmaxpoint results
    final JFreeChart chart = ChartFactory.createXYLineChart(null, // chart title
            xlabel, // x axis label
            ylabel, // y axis label
            findMaxpointData_, // data
            PlotOrientation.VERTICAL, false, // include legend
            true, // tooltips
            false // urls
    );

    final XYPlot plot = chart.getXYPlot();
    // deal with axes and add second dataset
    final NumberAxis yaxis1 = (NumberAxis) plot.getRangeAxis();
    yaxis1.setTickLabelFont(new Font("Dialog", Font.PLAIN, 10));
    yaxis1.setLabelFont(new Font("Dialog", Font.PLAIN, 10));
    final NumberAxis yaxis2 = new NumberAxis(null);
    final NumberAxis xaxis = (NumberAxis) plot.getDomainAxis();
    xaxis.setTickLabelFont(new Font("Dialog", Font.PLAIN, 10));
    xaxis.setLabelFont(new Font("Dialog", Font.PLAIN, 10));
    plot.setRangeAxis(1, yaxis2);
    plot.setDataset(1, gatePositionData_);
    plot.mapDatasetToRangeAxis(1, 1);
    yaxis1.setRange(0, 5000);
    yaxis2.setRange(-1, 1);
    yaxis2.setTickLabelsVisible(false);
    xaxis.setRange(0, 16666);

    // deal with visuals

    final XYLineAndShapeRenderer renderer1 = new XYLineAndShapeRenderer(true, true);
    renderer1.setSeriesPaint(0, Color.RED);
    renderer1.setSeriesStroke(0, new BasicStroke(3));

    //        renderer1.setBaseShapesVisible(true);
    //        renderer1.setSeriesShape(0, ShapeUtilities.createDiagonalCross(4,1));

    plot.setRenderer(0, renderer1);

    //        final StandardXYItemRenderer renderer2 = new StandardXYItemRenderer();
    final XYLineAndShapeRenderer renderer2 = new XYLineAndShapeRenderer(false, true);
    renderer2.setSeriesPaint(0, Color.CYAN);
    renderer2.setSeriesShapesFilled(0, Boolean.TRUE);
    renderer2.setBaseShapesVisible(true);
    renderer2.setShape(new Rectangle(-2, -100, 4, 200));
    renderer2.setOutlineStroke(new BasicStroke(1));
    renderer2.setOutlinePaint(Color.GRAY);
    renderer2.setUseOutlinePaint(true);
    plot.setRenderer(1, renderer2);

    plot.setBackgroundPaint(Color.white);
    plot.setDomainGridlinePaint(Color.lightGray);
    plot.setRangeGridlinePaint(Color.lightGray);
    //                
    return chart;

}

From source file:com.android.ddmuilib.log.event.DisplayGraph.java

/**
* Returns a {@link TimeSeriesCollection} for a specific {@link com.android.ddmlib.log.EventValueDescription.ValueType}.
* If the data set is not yet created, it is first allocated and set up into the
* {@link org.jfree.chart.JFreeChart} object.
* @param type the {@link com.android.ddmlib.log.EventValueDescription.ValueType} of the data set.
* @param accumulateValues//w w  w  . ja  v a 2 s. co  m
*/
private TimeSeriesCollection getValueDataset(EventValueDescription.ValueType type, boolean accumulateValues) {
    TimeSeriesCollection dataset = mValueTypeDataSetMap.get(type);
    if (dataset == null) {
        // create the data set and store it in the map
        dataset = new TimeSeriesCollection();
        mValueTypeDataSetMap.put(type, dataset);

        // create the renderer and configure it depending on the ValueType
        AbstractXYItemRenderer renderer;
        if (type == EventValueDescription.ValueType.PERCENT && accumulateValues) {
            renderer = new XYAreaRenderer();
        } else {
            XYLineAndShapeRenderer r = new XYLineAndShapeRenderer();
            r.setBaseShapesVisible(type != EventValueDescription.ValueType.PERCENT);

            renderer = r;
        }

        // set both the dataset and the renderer in the plot object.
        XYPlot xyPlot = mChart.getXYPlot();
        xyPlot.setDataset(mDataSetCount, dataset);
        xyPlot.setRenderer(mDataSetCount, renderer);

        // put a new axis label, and configure it.
        NumberAxis axis = new NumberAxis(type.toString());

        if (type == EventValueDescription.ValueType.PERCENT) {
            // force percent range to be (0,100) fixed.
            axis.setAutoRange(false);
            axis.setRange(0., 100.);
        }

        // for the index, we ignore the occurrence dataset
        int count = mDataSetCount;
        if (mOccurrenceDataSet != null) {
            count--;
        }

        xyPlot.setRangeAxis(count, axis);
        if ((count % 2) == 0) {
            xyPlot.setRangeAxisLocation(count, AxisLocation.BOTTOM_OR_LEFT);
        } else {
            xyPlot.setRangeAxisLocation(count, AxisLocation.TOP_OR_RIGHT);
        }

        // now we link the dataset and the axis
        xyPlot.mapDatasetToRangeAxis(mDataSetCount, count);

        mDataSetCount++;
    }

    return dataset;
}

From source file:org.operamasks.faces.render.graph.LineChartRenderer.java

private void setLineStyles(XYLineAndShapeRenderer renderer, UIChart comp) {
    Boolean drawLines = comp.getDrawLines();
    if (drawLines != null) {
        renderer.setBaseLinesVisible(drawLines);
    }/*from  w w  w .  j a  v a2 s .c  om*/

    Boolean drawMarkers = comp.getDrawMarkers();
    if (drawMarkers != null) {
        renderer.setBaseShapesVisible(drawMarkers);
    }

    Boolean fillMarkers = comp.getFillMarkers();
    if (fillMarkers != null) {
        renderer.setBaseShapesFilled(fillMarkers);
    }
    renderer.setUseFillPaint(true);

    Boolean drawOutline = comp.getDrawOutline();
    if (drawOutline != null) {
        renderer.setDrawOutlines(drawOutline);
    }
    renderer.setUseOutlinePaint(true);
}

From source file:org.glotaran.core.datadisplayers.common.ImageSVDPanel.java

public void createSVDPlots() {

    int maxSpinnerNumberModel = Math.min(MAX_NUMBER_SINGULAR_VALUES, (int) svdResult[1].getRowCount());
    jTFtotalNumSV//from  w  w w  .  j  a  v a2  s.co  m
            .setText("Max " + maxSpinnerNumberModel + " of  " + String.valueOf(svdResult[1].getRowCount()));
    jSnumSV.setModel(new SpinnerNumberModel((int) 1, (int) 0, maxSpinnerNumberModel, (int) 1));

    //creare collection with first 2 LSV
    XYSeriesCollection lSVCollection = new XYSeriesCollection();
    XYSeries seria;
    seria = new XYSeries("LSV1");
    for (int i = 0; i < timeSteps; i++) {
        seria.add(timeAxe[i], svdResult[0].getAsDouble((long) i, 0));
    }
    lSVCollection.addSeries(seria);

    //creare chart for 2 LSV
    leftSVChart = ChartFactory.createXYLineChart("Left singular vectors", "Time (~s)", null, lSVCollection,
            PlotOrientation.VERTICAL, false, false, false);
    //leftSVChart.getTitle().setFont(new Font(leftSVChart.getTitle().getFont().getFontName(), Font.PLAIN, 12));
    leftSVChart.setBackgroundPaint(JFreeChart.DEFAULT_BACKGROUND_PAINT);
    GraphPanel chpan = new GraphPanel(leftSVChart);
    jPLeftSingVectors.removeAll();
    jPLeftSingVectors.add(chpan);

    //creare collection with first RSV
    double[] tempRsingVec = null;
    double minVal = 0;
    double maxVal = 0;

    //            seria = new XYSeries("RSV" + (j + 1));
    tempRsingVec = new double[imageWitdth * imageHeight];
    double tempValue;
    for (int i = 0; i < imageWitdth * imageHeight; i++) {
        tempValue = svdResult[2].getAsDouble(i, 0);
        tempRsingVec[i] = tempValue;
        minVal = minVal > tempValue ? tempValue : minVal;
        maxVal = maxVal < tempValue ? tempValue : maxVal;
    }

    IntensImageDataset rSingVec = new IntensImageDataset(imageWitdth, imageHeight, tempRsingVec);
    PaintScale ps = new RedGreenPaintScale(minVal, maxVal);
    JFreeChart rSingVect = CommonDataDispTools
            .createScatChart(ImageUtilities.createColorCodedImage(rSingVec, ps), ps, imageWitdth, imageHeight);
    //            rSingVect.setTitle("R Singular vector " + String.valueOf(j + 1));
    //rSingVect.getTitle().setFont(new Font(tracechart.getTitle().getFont().getFontName(), Font.PLAIN, 12));
    ChartPanel rSingVectPanel = new ChartPanel(rSingVect);
    rSingVectPanel.setFillZoomRectangle(true);
    rSingVectPanel.setMouseWheelEnabled(true);

    jPRightSingVectors.removeAll();
    jPRightSingVectors.add(rSingVectPanel);

    //creare collection with singular values
    XYSeriesCollection sVCollection = new XYSeriesCollection();
    seria = new XYSeries("SV");
    for (int i = 0; i < maxSpinnerNumberModel; i++) {
        seria.add(i + 1, svdResult[1].getAsDouble((long) i, (long) i));
    }
    sVCollection.addSeries(seria);

    //create chart for singular values
    JFreeChart tracechart = ChartFactory.createXYLineChart("Screeplot", "Singular Value index (n)", null,
            sVCollection, PlotOrientation.VERTICAL, false, false, false);
    LogAxis logAxe = new LogAxis("Log(SVn)");
    final NumberAxis domainAxis = (NumberAxis) tracechart.getXYPlot().getDomainAxis();
    domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    tracechart.getXYPlot().setRangeAxis(logAxe);
    XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) tracechart.getXYPlot().getRenderer();
    renderer.setBaseShapesVisible(true);
    renderer.setDrawOutlines(true);
    renderer.setUseFillPaint(true);
    renderer.setBaseFillPaint(Color.white);
    renderer.setSeriesStroke(0, new BasicStroke(1.0f));
    renderer.setSeriesOutlineStroke(0, new BasicStroke(1.0f));
    renderer.setSeriesShape(0, new Ellipse2D.Double(-4.0, -4.0, 8.0, 8.0));

    //tracechart.getTitle().setFont(new Font(tracechart.getTitle().getFont().getFontName(), Font.PLAIN, 12));
    tracechart.setBackgroundPaint(JFreeChart.DEFAULT_BACKGROUND_PAINT);

    chpan = new GraphPanel(tracechart);
    //add chart with 2 RSV to JPannel
    jPSingValues.removeAll();
    jPSingValues.add(chpan);
}

From source file:edu.ucla.stat.SOCR.chart.SuperXYChart.java

protected JFreeChart createLegend(XYDataset dataset) {

    JFreeChart chart = ChartFactory.createXYLineChart(chartTitle, // chart title
            domainLabel, // domain axis label
            rangeLabel, // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, // orientation
            true, // include legend
            true, // tooltips
            false // url
    );//from w w w . ja  v  a  2  s .c om

    // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
    chart.setBackgroundPaint(Color.white);
    XYPlot plot = (XYPlot) chart.getPlot();

    XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer();
    renderer.setBaseShapesVisible(true);
    renderer.setBaseShapesFilled(true);
    renderer.setLegendItemLabelGenerator(new SOCRXYSeriesLabelGenerator());
    return chart;

}

From source file:com.bdb.weather.display.day.DayXYPlotPane.java

private void createChartElements() {
    ////from   w ww.  j a  v  a 2s .c  om
    // Set up the Domain Axis (X)
    //
    plot = new XYPlot();
    dateAxis = new DateAxis("Time");
    dateAxis.setAutoRange(false);
    dateAxis.setTickUnit(new DateTickUnit(DateTickUnitType.HOUR, 1, new SimpleDateFormat("h a")));
    dateAxis.setVerticalTickLabels(true);
    plot.setDomainAxis(dateAxis);
    plot.setRangeAxis(leftAxis);
    plot.setDataset(0, datasetLeft);
    if (rightAxis != null) {
        plot.setRangeAxis(1, rightAxis);
        plot.mapDatasetToRangeAxis(1, 1);
        plot.setDataset(1, datasetRight);
    }
    plot.setNoDataMessage("There is no data for the specified day");

    //
    // Set up the renderer to generate tool tips, not show shapes
    //
    XYLineAndShapeRenderer renderer = new XYLine3DRenderer();
    renderer.setBaseShapesVisible(false);
    renderer.setBaseToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance());
    //renderer.setDefaultEntityRadius(1);
    plot.setRenderer(0, renderer);

    renderer = new XYLine3DRenderer();
    renderer.setBaseShapesVisible(false);
    renderer.setBaseToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance());
    //renderer.setDefaultEntityRadius(1);
    plot.setRenderer(1, renderer);

    //
    // Setup the cross hairs that are displayed when the user clicks on the plot
    //
    plot.setRangeCrosshairLockedOnData(true);
    plot.setRangeCrosshairVisible(true);
    plot.setDomainCrosshairLockedOnData(true);
    plot.setDomainCrosshairVisible(true);

    //
    // Create the chart that contains the plot and the panel that contains the chart
    //
    chart = new JFreeChart(plot);
    ChartFactory.getChartTheme().apply(chart);
    chartViewer = new ChartViewer(chart);

    chartViewer.setMaxHeight(500);
    chartViewer.setMaxWidth(800);

    //
    // Add the Day/Night indicator option to the chart panels context menu
    //
    ContextMenu menu = chartViewer.getContextMenu();

    displayMenu = new Menu("Display");

    dayNightItem = new CheckMenuItem("Day/Night Indicators");
    dayNightItem.setSelected(true);
    displayMenu.getItems().add(dayNightItem);
    dayNightItem.setOnAction(this);
    menu.getItems().add(displayMenu);
}