List of usage examples for org.jfree.chart.renderer.xy XYLineAndShapeRenderer setSeriesLinesVisible
public void setSeriesLinesVisible(int series, boolean visible)
From source file:edu.ucla.stat.SOCR.chart.ChartGenerator.java
protected JFreeChart createQQChart(String title, String xLabel, String yLabel, XYDataset dataset, String other) {//from ww w . ja va 2s .co m // create the chart... JFreeChart chart = ChartFactory.createXYLineChart(title, // chart title xLabel, // x axis label yLabel, // y axis label dataset, // data PlotOrientation.VERTICAL, true, // include legend true, // tooltips false // urls ); // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART... chart.setBackgroundPaint(Color.white); // get a reference to the plot for further customisation... XYPlot plot = (XYPlot) chart.getPlot(); plot.setBackgroundPaint(Color.white); plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0)); plot.setDomainGridlinePaint(Color.lightGray); plot.setRangeGridlinePaint(Color.lightGray); XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer(); // renderer.setShapesVisible(true); renderer.setBaseShapesFilled(true); // renderer.setLinesVisible(false); renderer.setSeriesLinesVisible(1, true); renderer.setSeriesShapesVisible(1, false); renderer.setSeriesLinesVisible(0, false); renderer.setSeriesShapesVisible(0, true); //renderer.setLegendItemLabelGenerator(new SOCRXYSeriesLabelGenerator()); // change the auto tick unit selection to integer units only... NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setAutoRangeIncludesZero(false); rangeAxis.setUpperMargin(0); rangeAxis.setLowerMargin(0); // rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis(); domainAxis.setAutoRangeIncludesZero(false); domainAxis.setUpperMargin(0); domainAxis.setLowerMargin(0); // domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); // OPTIONAL CUSTOMISATION COMPLETED. //setQQSummary(dataset); // very confusing return chart; }
From source file:no.ntnu.mmfplanner.ui.graph.NpvChart.java
/** * Helper method for updateModel(). Adds the gray line at x=0. *//* ww w . j a va2 s. c o m*/ private void addLineX(XYSeriesCollection dataset, XYLineAndShapeRenderer renderer) { XYSeries line = new XYSeries(""); line.add(0.5, 0.0); line.add(project.getPeriods() + 0.5, 0.0); int series = dataset.getSeriesCount(); dataset.addSeries(line); renderer.setSeriesPaint(series, Color.GRAY); renderer.setSeriesShapesVisible(series, false); renderer.setSeriesLinesVisible(series, true); renderer.setSeriesVisibleInLegend(series, false); }
From source file:regresiones.RegresionMultiple.java
private void pintar(Double[] Yestimada, JTabbedPane resultados, Double[][] auxiliar) { // mostramos resultados para la pestaa resultados*********************************************************************** JPanel panel = new JPanel(new BorderLayout()); panel.setBackground(Color.white); JLabel titulo = new JLabel("Resultados");//creamos el titulo panel.add(titulo, BorderLayout.PAGE_START);//lo agregamos al inicio jtable = new JTable();//creamos la tabla a mostrar jtable.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(255, 0, 0), 2, true)); jtable.setFont(new java.awt.Font("Arial", 1, 14)); jtable.setColumnSelectionAllowed(true); jtable.setCursor(new java.awt.Cursor(java.awt.Cursor.N_RESIZE_CURSOR)); jtable.setInheritsPopupMenu(true);//from www .ja v a2s .co m jtable.setMinimumSize(new java.awt.Dimension(80, 80)); String[] titulos = { "X1", "X2", "Y", "Y estimada", "X1^2", "X2^2", "X1*Y", "X2*Y", "Y-Y estimada" };//los titulos de la tabla arregloFinal = new String[N][9]; DecimalFormat formato = new DecimalFormat("0.00"); for (int i = 0; i < N; i++) {//armamos el arreglo arregloFinal[i][0] = datos[i][0] + ""; arregloFinal[i][1] = datos[i][1] + ""; arregloFinal[i][2] = datos[i][2] + ""; arregloFinal[i][3] = formato.format(Yestimada[i]); arregloFinal[i][4] = formato.format(auxiliar[i][0]); arregloFinal[i][5] = formato.format(auxiliar[i][1]); arregloFinal[i][6] = formato.format(auxiliar[i][2]); arregloFinal[i][7] = formato.format(auxiliar[i][3]); arregloFinal[i][8] = formato.format(auxiliar[i][4]); } DefaultTableModel TableModel = new DefaultTableModel(arregloFinal, titulos); jtable.setModel(TableModel); JScrollPane jScrollPane1 = new JScrollPane(); jScrollPane1.setViewportView(jtable); jtable.getColumnModel().getSelectionModel() .setSelectionMode(javax.swing.ListSelectionModel.SINGLE_INTERVAL_SELECTION); panel.add(jScrollPane1, BorderLayout.CENTER); JPanel panel2 = new JPanel(new GridLayout(0, 6));//creo un panel con rejilla de 4 columnas JLabel etiquetaN = new JLabel("N"); JTextField cajaN = new JTextField(); cajaN.setText(N + ""); cajaN.setEditable(false); JLabel etiquetaK = new JLabel("K"); JTextField cajaK = new JTextField(); cajaK.setText("2"); cajaK.setEditable(false); JLabel etiquetab0 = new JLabel("b0"); JTextField cajab0 = new JTextField(); cajab0.setText(formato.format(b0) + ""); cajab0.setEditable(false); JLabel etiquetab1 = new JLabel("b1"); JTextField cajab1 = new JTextField(); cajab1.setText(formato.format(b1) + ""); cajab1.setEditable(false); JLabel etiquetab2 = new JLabel("b2"); JTextField cajab2 = new JTextField(); cajab2.setText(formato.format(b2) + ""); cajab2.setEditable(false); JLabel etiquetaSe = new JLabel("Se"); JTextField cajaSe = new JTextField(); cajaSe.setText(Se + ""); cajaSe.setEditable(false); cajaSe.setAutoscrolls(true); JButton botonI = new JButton("Exportar a PDF"); botonI.addActionListener(this); panel2.add(etiquetaN); panel2.add(cajaN); panel2.add(etiquetaK); panel2.add(cajaK); panel2.add(etiquetab2); panel2.add(etiquetab0); panel2.add(cajab0); panel2.add(etiquetab1); panel2.add(cajab1); panel2.add(etiquetab2); panel2.add(cajab2); panel2.add(etiquetaSe); panel2.add(cajaSe); panel2.add(botonI); panel.add(panel2, BorderLayout.SOUTH);//agrego el panel2 con rejilla en el panel principal al sur resultados.addTab("resultado", panel); //************************************************************************************** //intervalos de confianza JPanel intervalos = new JPanel(new BorderLayout()); JPanel variables = new JPanel(new GridLayout(0, 2)); JLabel variableX1 = new JLabel("X1"); cajaVariableX1 = new JTextField(); JLabel variableX2 = new JLabel("X2"); cajaVariableX2 = new JTextField(); boton = new JButton("calcular"); boton.addActionListener(this); JLabel variableEfectividad = new JLabel("Efectividad"); String[] efectividades = { "80", "85", "90", "95", "99" }; combo = new JComboBox(efectividades); variables.add(variableX1); variables.add(cajaVariableX1); variables.add(variableX2); variables.add(cajaVariableX2); variables.add(variableEfectividad); variables.add(combo); variables.add(boton); intervalos.add(variables, BorderLayout.NORTH); jtable2 = new JTable();//creamos la tabla a mostrar jtable2.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(255, 0, 0), 2, true)); jtable2.setFont(new java.awt.Font("Arial", 1, 14)); jtable2.setColumnSelectionAllowed(true); jtable2.setCursor(new java.awt.Cursor(java.awt.Cursor.N_RESIZE_CURSOR)); jtable2.setInheritsPopupMenu(true); jtable2.setMinimumSize(new java.awt.Dimension(80, 80)); String[] titulos2 = { "Y estimada", "Li", "Ls" };//los titulos de la tabla String[][] pruebaIntervalos = { { "", "", "" } }; DefaultTableModel TableModel2 = new DefaultTableModel(pruebaIntervalos, titulos2); jtable2.setModel(TableModel2); JScrollPane jScrollPane2 = new JScrollPane(); jScrollPane2.setViewportView(jtable2); jtable2.getColumnModel().getSelectionModel() .setSelectionMode(javax.swing.ListSelectionModel.SINGLE_INTERVAL_SELECTION); intervalos.add(jScrollPane2, BorderLayout.CENTER); resultados.addTab("intervalos", intervalos); //*************************************************************************** JPanel graficas = new JPanel(new GridLayout(0, 1)); XYDataset dataset = createSampleDataset(Yestimada, 1); JFreeChart chart = ChartFactory.createXYLineChart("Grafica 1 - X1", "X", "Y", dataset, PlotOrientation.VERTICAL, true, false, false); XYPlot plot = (XYPlot) chart.getPlot(); XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); renderer.setSeriesLinesVisible(0, true); renderer.setSeriesShapesVisible(0, true); renderer.setSeriesLinesVisible(1, true); renderer.setSeriesShapesVisible(1, true); plot.setRenderer(renderer); final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(500, 300)); graficas.add(chartPanel);//agregamos la primer grafica //********** creamos la segunda grafica XYDataset dataset2 = createSampleDataset(Yestimada, 2); JFreeChart chart2 = ChartFactory.createXYLineChart("Grafica 2 -X2", "X", "Y", dataset2, PlotOrientation.VERTICAL, true, false, false); XYPlot plot2 = (XYPlot) chart2.getPlot(); XYLineAndShapeRenderer renderer2 = new XYLineAndShapeRenderer(); renderer2.setSeriesLinesVisible(0, true); renderer2.setSeriesShapesVisible(0, true); renderer2.setSeriesLinesVisible(1, true); renderer2.setSeriesShapesVisible(1, true); plot2.setRenderer(renderer2); final ChartPanel chartPanel2 = new ChartPanel(chart2); chartPanel2.setPreferredSize(new java.awt.Dimension(500, 300)); graficas.add(chartPanel2); resultados.addTab("graficas", graficas); }
From source file:org.gephi.statistics.plugin.DegreeDistribution.java
/** * * @return The directed version of the report. *//*from w w w. j ava2s. c o m*/ private String getDirectedReport() { double inMax = 0; XYSeries inSeries2 = new XYSeries("Series 2"); for (int i = 1; i < inDistribution[1].length; i++) { if (inDistribution[1][i] > 0) { inSeries2.add((Math.log(inDistribution[0][i]) / Math.log(Math.E)), (Math.log(inDistribution[1][i]) / Math.log(Math.E))); inMax = (float) Math.max((Math.log(inDistribution[0][i]) / Math.log(Math.E)), inMax); } } double inA = inAlpha; double inB = inBeta; String inImageFile = ""; String outImageFile = ""; try { XYSeries inSeries1 = new XYSeries(inAlpha + " "); inSeries1.add(0, inA); inSeries1.add(inMax, inA + inB * inMax); XYSeriesCollection inDataset = new XYSeriesCollection(); inDataset.addSeries(inSeries1); inDataset.addSeries(inSeries2); JFreeChart inChart = ChartFactory.createXYLineChart("In-Degree Distribution", "In-Degree", "Occurrence", inDataset, PlotOrientation.VERTICAL, true, false, false); XYPlot inPlot = (XYPlot) inChart.getPlot(); XYLineAndShapeRenderer inRenderer = new XYLineAndShapeRenderer(); inRenderer.setSeriesLinesVisible(0, true); inRenderer.setSeriesShapesVisible(0, false); inRenderer.setSeriesLinesVisible(1, false); inRenderer.setSeriesShapesVisible(1, true); inRenderer.setSeriesShape(1, new java.awt.geom.Ellipse2D.Double(0, 0, 1, 1)); inPlot.setBackgroundPaint(java.awt.Color.WHITE); inPlot.setDomainGridlinePaint(java.awt.Color.GRAY); inPlot.setRangeGridlinePaint(java.awt.Color.GRAY); inPlot.setRenderer(inRenderer); final ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection()); TempDir tempDir = TempDirUtils.createTempDir(); final String fileName = "inDistribution.png"; final File file1 = tempDir.createFile(fileName); inImageFile = "<IMG SRC=\"file:" + file1.getAbsolutePath() + "\" " + "WIDTH=\"600\" HEIGHT=\"400\" BORDER=\"0\" USEMAP=\"#chart\"></IMG>"; ChartUtilities.saveChartAsPNG(file1, inChart, 600, 400, info); double outMax = 0; XYSeries outSeries2 = new XYSeries("Series 2"); for (int i = 1; i < outDistribution[1].length; i++) { if (outDistribution[1][i] > 0) { outSeries2.add((Math.log(outDistribution[0][i]) / Math.log(Math.E)), (Math.log(outDistribution[1][i]) / Math.log(Math.E))); outMax = (float) Math.max((Math.log(outDistribution[0][i]) / Math.log(Math.E)), outMax); } } double outA = outAlpha; double outB = outBeta; XYSeries outSeries1 = new XYSeries(outAlpha + " "); outSeries1.add(0, outA); outSeries1.add(outMax, outA + outB * outMax); XYSeriesCollection outDataset = new XYSeriesCollection(); outDataset.addSeries(outSeries1); outDataset.addSeries(outSeries2); JFreeChart outchart = ChartFactory.createXYLineChart("Out-Degree Distribution", "Out-Degree", "Occurrence", outDataset, PlotOrientation.VERTICAL, true, false, false); XYPlot outPlot = (XYPlot) outchart.getPlot(); XYLineAndShapeRenderer outRenderer = new XYLineAndShapeRenderer(); outRenderer.setSeriesLinesVisible(0, true); outRenderer.setSeriesShapesVisible(0, false); outRenderer.setSeriesLinesVisible(1, false); outRenderer.setSeriesShapesVisible(1, true); outRenderer.setSeriesShape(1, new java.awt.geom.Ellipse2D.Double(0, 0, 1, 1)); outPlot.setBackgroundPaint(java.awt.Color.WHITE); outPlot.setDomainGridlinePaint(java.awt.Color.GRAY); outPlot.setRangeGridlinePaint(java.awt.Color.GRAY); outPlot.setRenderer(outRenderer); final ChartRenderingInfo info2 = new ChartRenderingInfo(new StandardEntityCollection()); final String fileName2 = "outDistribution.png"; final File file2 = tempDir.createFile(fileName2); outImageFile = "<IMG SRC=\"file:" + file2.getAbsolutePath() + "\" " + "WIDTH=\"600\" HEIGHT=\"400\" BORDER=\"0\" USEMAP=\"#chart\"></IMG>"; ChartUtilities.saveChartAsPNG(file2, outchart, 600, 400, info2); } catch (IOException e) { Exceptions.printStackTrace(e); } String report = "<HTML> <BODY> <h1>Degree Distribution Metric Report </h1> " + "<hr>" + "<br>" + "<h2> Parameters: </h2>" + "Network Interpretation: " + (isDirected ? "directed" : "undirected") + "<br>" + "<br> <h2> Results: </h2>" + "In-Degree Power Law: -" + inAlpha + "\n <BR>" + inImageFile + "<br>Out-Degree Power Law: -" + outAlpha + "\n <BR>" + outImageFile + "</BODY> </HTML>"; return report; }
From source file:OAT.ui.BarChartFrame.java
public void addDataset(ChartDataset dataset) { if (dataset == null || dataset.getSeriesCount() == 0) { return;// w w w .j ava2 s.c o m } XYPlot plot = getChart().getXYPlot(); int i = plot.getDatasetCount(); for (int j = 0; j < i; j++) { if (plot.getDataset(j).equals(dataset)) { // System.out.println("eq " + i // + " " + ((ChartDataset) plot.getDataset(j)).getTitle() // + " " + dataset.getTitle()); return; } } plot.setDataset(i, dataset); plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE); Double[] range = dataset.getAxisRange(); //axis int axisId = 0; if (range != null) { // if (range == null || range.length < 2) { // plot.mapDatasetToRangeAxis(i, 0); // } else { //scan for equal axis range, reuse if found boolean hasSameRange = false; if (range.length > 1) { for (int j = 1; j < plot.getRangeAxisCount(); j++) { Range otherRange = plot.getRangeAxis(j).getRange(); if (otherRange != null && otherRange.getLowerBound() == range[0] && otherRange.getUpperBound() == range[1]) { axisId = j; hasSameRange = true; break; } } } if (!hasSameRange) { NumberAxis newAxis = new NumberAxis(); if (range.length > 1) { newAxis.setAutoRange(false); newAxis.setRange(range[0], range[1]); } if (range.length > 2) { newAxis.setAutoTickUnitSelection(false, false); newAxis.setTickUnit(new NumberTickUnit(range[2])); } newAxis.setNumberFormatOverride(TextUtil.SIMPLE_FORMATTER); // newAxis.setAxisLinePaint(new Color(100, 0, 0)); // newAxis.setLabelPaint(paints[i][0]); // newAxis.setTickLabelPaint(paints[i][0]); // newAxis.setTickMarkPaint(paints[i][0]); // newAxis.setTickLabelsVisible(true); axisId = plot.getRangeAxisCount(); plot.setRangeAxis(axisId, newAxis, false); plot.setRangeAxisLocation(axisId, AxisLocation.BOTTOM_OR_LEFT, false); } // plot.mapDatasetToRangeAxis(i, newAxisId); } plot.mapDatasetToRangeAxis(i, axisId); // //renderer XYLineAndShapeRenderer renderer; if (dataset instanceof TradeDataset) { renderer = new TradeRenderer(); for (int j = 0; j < dataset.getSeriesCount(); j++) { renderer.setSeriesLinesVisible(j, false); } } else { Shape shape = Main.defaultShape; Paint[][] seriesPaints; Stroke stroke; if (dataset.getSource() instanceof Stopper && !(dataset.getSource() instanceof Calculator)) { seriesPaints = Main.greyPaints; stroke = Main.dottedStoke; } else { seriesPaints = Main.defaultPaints; stroke = Main.defaultStoke; } renderer = new IndicatorRenderer(seriesPaints[(i - 1) % seriesPaints.length], shape, stroke); } plot.setRenderer(i, renderer, false); }
From source file:oct.analysis.application.OCTSelection.java
public JPanel createLRPPanel() { //create the series collection from the LRP data XYSeriesCollection lrp = new XYSeriesCollection(); lrp.addSeries(getLrpSeriesFromOCT(OCTAnalysisManager.getInstance().getOctImage())); // System.out.println("Processing graph " + lrp.getSeriesKey(0).toString()); lrp.addSeries(findMaximums(lrp.getSeries(0), selectionName + " LRP Maximums")); List<XYSeries> fwhm = getFWHMForLRPPeaks(lrp.getSeries(1), lrp.getSeries(0)); fwhm.forEach((fwhmSeries) -> {//from w ww .j a va 2 s . com lrp.addSeries(fwhmSeries); }); //create chart panel for LRP JFreeChart chart = ChartFactory.createXYLineChart(lrp.getSeriesKey(0).toString(), "Pixel Height", "Reflectivity", lrp, PlotOrientation.HORIZONTAL, false, true, false); XYPlot plot = chart.getXYPlot(); // plot.setRangeAxisLocation(AxisLocation.TOP_OR_LEFT); // plot.getDomainAxis().setInverted(true); //set up rendering principles XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); renderer.setSeriesLinesVisible(0, true); renderer.setSeriesShapesVisible(0, false); renderer.setSeriesPaint(0, Color.RED); renderer.setSeriesLinesVisible(1, false); renderer.setSeriesShapesVisible(1, true); renderer.setSeriesShapesFilled(1, true); renderer.setSeriesPaint(1, Color.BLUE); for (int i = 2; i < fwhm.size() + 2; i++) { renderer.setSeriesLinesVisible(i, true); renderer.setSeriesShapesVisible(i, false); renderer.setSeriesPaint(i, Color.BLACK); } plot.setRenderer(renderer); //make panel ChartPanel panel = new ChartPanel(chart); panel.setPreferredSize(new Dimension(200, 200)); panel.setFillZoomRectangle(true); panel.setMouseWheelEnabled(true); return panel; }
From source file:vis2006.VisGrafik.java
public JFreeChart createChart(Stand st, int speciesCode) { // create the dataset... int code = speciesCode; int merk = 0; for (int i = 0; i < st.nspecies; i++) if (st.sp[i].code == code) merk = i;//from ww w .j a v a 2s . c om XYSeriesCollection dataset = new XYSeriesCollection(); // Werte der Hhenkurve XYSeries series0 = new XYSeries("Hhenkurve: " + st.sp[merk].heightcurveUsed); for (int k = 0; k < st.ntrees; k++) { if ((st.tr[k].d > 0) && (st.tr[k].h > 0) && st.tr[k].code == code && st.tr[k].fac > 0.0) series0.add(st.tr[k].d, st.tr[k].h); } dataset.addSeries(series0); // Messwerte aus der Versuchsflche XYSeries series1 = new XYSeries("Messwerte"); for (int k = 0; k < st.ntrees; k++) { if ((st.tr[k].d > 0) && (st.tr[k].hMeasuredValue > 0) && st.tr[k].code == code && st.tr[k].fac > 0.0) series1.add(st.tr[k].d, st.tr[k].hMeasuredValue); } dataset.addSeries(series1); // Andere Messwerte (HG, nurH) XYSeries series2 = new XYSeries("Andere Hhen"); for (int k = 0; k < st.ntrees; k++) { if ((st.tr[k].d > 0) && (st.tr[k].hMeasuredValue > 0) && st.tr[k].code == code && (st.tr[k].no.contains("nurH") || st.tr[k].no.contains("HG"))) series2.add(st.tr[k].d, st.tr[k].hMeasuredValue); } dataset.addSeries(series2); /* Wozu ist die gut? double dmin=9000; double dmax=-9000; for (int k=0;k<st.ntrees;k++){ if (st.tr[k].code==st.sp[merk].code && st.tr[k].fac > 0.0){ if (dmax <st.tr[k].d ) dmax=st.tr[k].d; if (dmin >st.tr[k].d ) dmin=st.tr[k].d; } } XYSeries series3 = new XYSeries(""); int idmin = (int)(Math.round(dmin)); int idmax = (int)(Math.round(dmax))+1; for (int k=idmin;k<=idmax;k++){ double dwert=k*1.0; if (st.sp[merk].heightcurveUsed.indexOf("Einheits")>-1){ UniformHeight uh = new UniformHeight(); series3.add(dwert,uh.height(st.sp[merk],dwert, st.sp[merk].dg,st.sp[merk].hg,st)); } else { HeightCurve hc =new HeightCurve(); series3.add(dwert,hc.getHeight(st.sp[merk].spDef.heightCurve,dwert,st.sp[merk].heightcurveUsedP0, st.sp[merk].heightcurveUsedP1,st.sp[merk].heightcurveUsedP2)); } } dataset.addSeries(series3); */ // JFreeChart chart = ChartFactory.createScatterPlot("Hhenkurve " + st.sp[merk].spDef.longName, "BHD [cm]", "Hhe [m]", dataset, org.jfree.chart.plot.PlotOrientation.VERTICAL, true, //legend false, // tooltips false); // urls XYPlot plot = chart.getXYPlot(); plot.setDomainCrosshairVisible(true); plot.setRangeCrosshairVisible(true); plot.getDomainAxis().setAutoRangeMinimumSize(1.0); plot.getRangeAxis().setAutoRangeMinimumSize(5.0); // XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); renderer.setSeriesLinesVisible(0, true); // Hhenkurve - rote Linie renderer.setSeriesStroke(0, new BasicStroke(2)); renderer.setSeriesShapesVisible(0, false); renderer.setSeriesPaint(0, Color.RED); renderer.setSeriesLinesVisible(1, false); // Parzellenmesswerte - blaue Symbole renderer.setSeriesShapesVisible(1, true); renderer.setSeriesPaint(1, Color.BLUE); renderer.setSeriesLinesVisible(2, false); // Andere Messwerte - blaue leere Symbole renderer.setSeriesShapesVisible(2, true); renderer.setSeriesShapesFilled(2, false); renderer.setSeriesPaint(2, Color.BLUE); // renderer.setSeriesLinesVisible(3, true); // renderer.setSeriesShapesVisible(3,false); // renderer.setSeriesPaint(3, Color.BLUE); // renderer.setSeriesPaint(1, new Color(st.sp[merk].spDef.colorRed,st.sp[merk].spDef.colorGreen,st.sp[merk].spDef.colorBlue)); plot.setRenderer(renderer); System.out.println("Plot done"); return chart; }
From source file:com.kodemore.freechart.KmSimpleLineChart.java
private JFreeChart createChart(XYDataset dataset) { PlotOrientation orientation = PlotOrientation.VERTICAL; boolean showsTooltips = false; boolean showsUrls = false; JFreeChart chart = ChartFactory.createXYLineChart(getTitle(), getAxisTitleX(), getAxisTitleY(), dataset, orientation, getShowsLegend(), showsTooltips, showsUrls); if (hasBackgroundColor()) chart.setBackgroundPaint(getBackgroundColor()); XYPlot plot;/*from ww w . ja va2 s . co m*/ plot = chart.getXYPlot(); if (hasPlotBackgroundColor()) plot.setBackgroundPaint(getPlotBackgroundColor()); if (hasPlotGridLineColor()) { Color color = getPlotGridLineColor(); plot.setDomainGridlinePaint(color); plot.setRangeGridlinePaint(color); } XYLineAndShapeRenderer renderer; renderer = new XYLineAndShapeRenderer(); KmList<KmSimpleLineChartGroup> groups = getGroups(); int n = groups.size(); for (int i = 0; i < n; i++) { KmSimpleLineChartGroup group = groups.getAt(i); renderer.setSeriesLinesVisible(i, group.getShowsLines()); renderer.setSeriesShapesVisible(i, group.getShowsShapes()); } plot.setRenderer(renderer); if (getIntegerUnitsX()) { NumberAxis rangeAxis; rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); } if (getIntegerUnitsY()) { NumberAxis rangeAxis; rangeAxis = (NumberAxis) plot.getDomainAxis(); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); } return chart; }
From source file:regresiones.RegresionSimple.java
public void Resolver(JTabbedPane resultados) { for (int i = 0; i < 9; i++) { sumatorias[i] = 0.0;/* w w w. j a v a2s .c o m*/ } try { System.out.println("TOTAL DE DATOS: " + N); for (int i = 0; i < N; i++) { xiyi[i] = datos[i][0] * datos[i][1]; System.out.println("X*Y" + i + ": " + xiyi[i]); x2[i] = datos[i][0] * datos[i][0]; //elevamos al cuadrado las x's y2[i] = datos[i][1] * datos[i][1]; //elevamos al cuadrado las y's sumatorias[0] += datos[i][0]; //sumatoria de x sumatorias[1] += datos[i][1]; //sumatoria de y } //sumatoria de xi*yi for (int j = 0; j < N; j++) { sumatorias[2] += xiyi[j]; } //sumatoria de x^2 for (int j = 0; j < N; j++) { sumatorias[3] += x2[j]; } //sumatoria de y^2 for (int j = 0; j < N; j++) { sumatorias[4] += y2[j]; } mediax = sumatorias[0] / N; mediay = sumatorias[1] / N; System.out.println("RAIS 25: " + Math.sqrt(25)); DecimalFormat df = new DecimalFormat("##.##"); df.setRoundingMode(RoundingMode.DOWN); System.out.println("redondeo x^2-- " + df.format(sumatorias[3])); System.out.println("redondeo y^2-- " + df.format(sumatorias[4])); redondeoSumatoriax2 = Double.parseDouble(df.format(sumatorias[3])); redondeoSumatoriay2 = Double.parseDouble(df.format(sumatorias[4])); dxy = ((sumatorias[2]) / N) - mediax * mediay; dy = Math.sqrt(((redondeoSumatoriay2 / N) - (mediay * mediay))); dx = Math.sqrt(((redondeoSumatoriax2 / N) - (mediax * mediax))); b1 = ((sumatorias[2] * N) - sumatorias[0] * sumatorias[1]) / ((sumatorias[3] * N) - (sumatorias[0] * sumatorias[0])); b0 = (sumatorias[1] / N) - ((b1 * sumatorias[0]) / N); // Y ESTIMADA for (int i = 0; i < N; i++) { yEstimada[i] = b0 + (b1 * datos[i][0]); } Se = Math.sqrt((sumatorias[4] - (b0 * sumatorias[1]) - (b1 * sumatorias[2])) / (N - 2)); r = dxy / (dx * dy); System.out.println("sum x: " + sumatorias[0]); System.out.println("sum y: " + sumatorias[1]); System.out.println("sum x*y: " + sumatorias[2]); System.out.println("sum x^2: " + sumatorias[3]); System.out.println("sum y^2: " + sumatorias[4]); System.out.println("DX7: " + dxy); System.out.println("DY: " + dy); System.out.println("DX: " + dx); System.out.println("B0: " + b0); System.out.println("B1: " + b1); // mostramos resultados para la pestaa resultados*********************************************************************** JPanel panel = new JPanel(new BorderLayout()); panel.setBackground(Color.white); JLabel titulo = new JLabel("Resultados");//creamos el titulo panel.add(titulo, BorderLayout.PAGE_START);//lo agregamos al inicio jtable = new JTable();//creamos la tabla a mostrar jtable.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(255, 0, 0), 2, true)); jtable.setFont(new java.awt.Font("Arial", 1, 14)); jtable.setColumnSelectionAllowed(true); jtable.setCursor(new java.awt.Cursor(java.awt.Cursor.N_RESIZE_CURSOR)); jtable.setInheritsPopupMenu(true); jtable.setMinimumSize(new java.awt.Dimension(80, 80)); String[] titulos = { "X", "Y", "Xi*Yi", "X2", "Y2", "Y estimada" };//los titulos de la tabla arregloFinal = new String[N][6]; DecimalFormat formato = new DecimalFormat("0.00"); for (int i = 0; i < N; i++) {//armamos el arreglo arregloFinal[i][0] = datos[i][0] + ""; //X arregloFinal[i][1] = datos[i][1] + "";//Y arregloFinal[i][2] = formato.format(xiyi[i]); arregloFinal[i][3] = formato.format(x2[i]); arregloFinal[i][4] = formato.format(y2[i]); arregloFinal[i][5] = formato.format(yEstimada[i]); } DefaultTableModel TableModel = new DefaultTableModel(arregloFinal, titulos); jtable.setModel(TableModel); JScrollPane jScrollPane1 = new JScrollPane(); jScrollPane1.setViewportView(jtable); jtable.getColumnModel().getSelectionModel() .setSelectionMode(javax.swing.ListSelectionModel.SINGLE_INTERVAL_SELECTION); panel.add(jScrollPane1, BorderLayout.CENTER); JPanel panel2 = new JPanel(new GridLayout(0, 4));//creo un panel con rejilla de 4 columnas JLabel etiquetaN = new JLabel("N"); JTextField cajaN = new JTextField(); cajaN.setText(N + ""); JLabel etiquetab0 = new JLabel("b0"); JTextField cajab0 = new JTextField(); cajab0.setText(b0 + ""); JLabel etiquetab1 = new JLabel("b1"); JTextField cajab1 = new JTextField(); cajab1.setText(b1 + ""); JLabel etiquetadxy = new JLabel("DXy"); JTextField cajadxy = new JTextField(); cajadxy.setText(dxy + ""); JLabel etiquetadx = new JLabel("DX"); JTextField cajadx = new JTextField(); cajadx.setText(dx + ""); JLabel etiquetady = new JLabel("DY"); JTextField cajady = new JTextField(); cajady.setText(dy + ""); JLabel etiquetaR = new JLabel("R"); JTextField cajaR = new JTextField(); cajaR.setText(r + ""); JLabel etiquetaSE = new JLabel("SE"); JTextField cajaSE = new JTextField(); cajaSE.setText(Se + ""); JButton boton = new JButton("Exportar a PDF"); boton.addActionListener(this); panel2.add(etiquetaN); panel2.add(cajaN); panel2.add(etiquetab0); panel2.add(cajab0); panel2.add(etiquetab1); panel2.add(cajab1); panel2.add(etiquetadxy); panel2.add(cajadxy); panel2.add(etiquetadx); panel2.add(cajadx); panel2.add(etiquetady); panel2.add(cajady); panel2.add(etiquetaR); panel2.add(cajaR); panel2.add(etiquetaSE); panel2.add(cajaSE); panel2.add(boton); panel.add(panel2, BorderLayout.SOUTH);//agrego el panel2 con rejilla en el panel principal al sur resultados.addTab("resultado", panel); //************************************************************************************** //intervalos de confianza JPanel intervalos = new JPanel(new BorderLayout()); JPanel variables = new JPanel(new GridLayout(0, 2)); JLabel variableX1 = new JLabel("X1"); cajaVariableX1 = new JTextField(); boton = new JButton("calcular"); boton.addActionListener(this); JLabel variableEfectividad = new JLabel("Efectividad"); String[] efectividades = { "80", "85", "90", "95", "99" }; combo = new JComboBox(efectividades); variables.add(variableX1); variables.add(cajaVariableX1); variables.add(variableEfectividad); variables.add(combo); variables.add(boton);//comentario //cometario2 intervalos.add(variables, BorderLayout.NORTH); jtable2 = new JTable();//creamos la tabla a mostrar jtable2.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(255, 0, 0), 2, true)); jtable2.setFont(new java.awt.Font("Arial", 1, 14)); jtable2.setColumnSelectionAllowed(true); jtable2.setCursor(new java.awt.Cursor(java.awt.Cursor.N_RESIZE_CURSOR)); jtable2.setInheritsPopupMenu(true); jtable2.setMinimumSize(new java.awt.Dimension(80, 80)); String[] titulos2 = { "Y estimada", "Li", "Ls" };//los titulos de la tabla String[][] pruebaIntervalos = { { "", "", "" } }; DefaultTableModel TableModel2 = new DefaultTableModel(pruebaIntervalos, titulos2); jtable2.setModel(TableModel2); JScrollPane jScrollPane2 = new JScrollPane(); jScrollPane2.setViewportView(jtable2); jtable2.getColumnModel().getSelectionModel() .setSelectionMode(javax.swing.ListSelectionModel.SINGLE_INTERVAL_SELECTION); intervalos.add(jScrollPane2, BorderLayout.CENTER); resultados.addTab("intervalos", intervalos); // *********************************************************************** JPanel graficas = new JPanel(new GridLayout(0, 1)); XYDataset dataset = createSampleDataset(); JFreeChart chart = ChartFactory.createXYLineChart("Grafica", "X", "Y", dataset, PlotOrientation.VERTICAL, true, false, false); XYPlot plot = (XYPlot) chart.getPlot(); XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); renderer.setSeriesLinesVisible(0, true); renderer.setSeriesShapesVisible(0, true); renderer.setSeriesLinesVisible(1, true); renderer.setSeriesShapesVisible(1, true); plot.setRenderer(renderer); final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(500, 300)); graficas.add(chartPanel);//agregamos la primer grafica resultados.addTab("Graficas", graficas); //IMPRIMIR JTABLE /* MessageFormat headerFormat = new MessageFormat("MI CABECERA"); MessageFormat footerFormat = new MessageFormat("- Pgina {0} -"); jtable.print(PrintMode.FIT_WIDTH, headerFormat, footerFormat); */ } catch (Exception e) { e.printStackTrace(); } }
From source file:gov.nih.nci.caintegrator.plots.kaplanmeier.JFreeChartIKMPlottermpl.java
public JFreeChart createKMPlot(Collection<GroupCoordinates> groupsToBePlotted, String title, String xAxisLabel, String yAxisLabel) {/*from w w w . j a v a 2s. c om*/ List<KMPlotPointSeriesSet> kmPlotSets = new ArrayList<KMPlotPointSeriesSet>( convertToKaplanMeierPlotPointSeriesSet(groupsToBePlotted)); XYSeriesCollection finalDataCollection = new XYSeriesCollection(); /* Repackage all the datasets to go into the XYSeriesCollection */ for (KMPlotPointSeriesSet dataSet : kmPlotSets) { finalDataCollection.addSeries(dataSet.getCensorPlotPoints()); finalDataCollection.addSeries(dataSet.getProbabilityPlotPoints()); } JFreeChart chart = ChartFactory.createXYLineChart("", xAxisLabel, yAxisLabel, finalDataCollection, PlotOrientation.VERTICAL, true, //legend true, //tooltips false//urls ); XYPlot plot = (XYPlot) chart.getPlot(); /* * Ideally the actual Renderer settings should have been created * at the survivalLength of iterating KaplanMeierPlotPointSeriesSets, adding them to the actual * Data Set that is going to be going into the Chart plotter. But you have no idea how * they are going to be sitting in the Plot dataset so there is no guarantee that setting the * renderer based on a supposed index will actually work. In fact */ XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); for (int i = 0; i < finalDataCollection.getSeriesCount(); i++) { KMPlotPointSeries kmSeries = (KMPlotPointSeries) finalDataCollection.getSeries(i); if (kmSeries.getType() == KMPlotPointSeries.SeriesType.CENSOR) { renderer.setSeriesLinesVisible(i, false); renderer.setSeriesShapesVisible(i, true); renderer.setSeriesShape(i, getCensorShape()); } else if (kmSeries.getType() == KMPlotPointSeries.SeriesType.PROBABILITY) { renderer.setSeriesLinesVisible(i, true); renderer.setSeriesShapesVisible(i, false); } else { //don't show this set as it is not a known type renderer.setSeriesLinesVisible(i, false); renderer.setSeriesShapesVisible(i, false); } renderer.setSeriesPaint(i, getKMSetColor(kmPlotSets, kmSeries.getKey(), kmSeries.getType()), true); } renderer.setToolTipGenerator(new StandardXYToolTipGenerator()); renderer.setDefaultEntityRadius(6); plot.setRenderer(renderer); /* change the auto tick unit selection to integer units only... */ NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setStandardTickUnits(NumberAxis.createStandardTickUnits()); /* OPTIONAL CUSTOMISATION COMPLETED. */ rangeAxis.setAutoRange(true); rangeAxis.setRange(0.0, 1.0); /* set Title and Legend */ chart.setTitle(title); createLegend(chart, kmPlotSets); return chart; }