List of usage examples for org.jfree.chart.renderer.xy XYLineAndShapeRenderer setBaseShapesVisible
public void setBaseShapesVisible(boolean flag)
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); }