List of usage examples for org.jfree.chart.plot XYPlot getDomainAxis
public ValueAxis getDomainAxis()
From source file:com.leonarduk.finance.chart.BollingerBars.java
public static void displayBollingerBars(final Stock stock) throws IOException { final TimeSeries series = TimeseriesUtils.getTimeSeries(stock, 1); /**//from ww w.java2 s.c om * Creating indicators */ // Close price final ClosePriceIndicator closePrice = new ClosePriceIndicator(series); // Bollinger bands final BollingerBandsMiddleIndicator middleBBand = new BollingerBandsMiddleIndicator(closePrice); final BollingerBandsLowerIndicator lowBBand = new BollingerBandsLowerIndicator(middleBBand, closePrice, Decimal.ONE); final BollingerBandsUpperIndicator upBBand = new BollingerBandsUpperIndicator(middleBBand, closePrice, Decimal.ONE); /** * Building chart dataset */ final TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(BollingerBars.buildChartTimeSeries(series, closePrice, stock.getName() + ". (" + stock.getSymbol() + ") - " + stock.getStockExchange())); dataset.addSeries(BollingerBars.buildChartTimeSeries(series, lowBBand, "Low Bollinger Band")); dataset.addSeries(BollingerBars.buildChartTimeSeries(series, upBBand, "High Bollinger Band")); /** * Creating the chart */ final JFreeChart chart = ChartFactory.createTimeSeriesChart(stock.getName() + "Close Prices", // title "Date", // x-axis label "Price Per Unit", // y-axis label dataset, // data true, // create legend? true, // generate tooltips? false // generate URLs? ); final XYPlot plot = (XYPlot) chart.getPlot(); final DateAxis axis = (DateAxis) plot.getDomainAxis(); axis.setDateFormatOverride(new SimpleDateFormat("yyyy-MM-dd")); /** * Displaying the chart */ ChartDisplay.displayChartInFrame(chart, 500, 270, "Bollinger chart"); }
From source file:umberto.WeightedClusterCoefficient.ChartUtils.java
public static void scaleLogarithmicChart(JFreeChart chart, XYSeries dSeries, boolean normalized) { XYPlot plot = (XYPlot) chart.getPlot(); NumberAxis logxaxis = new LogarithmicAxis(plot.getDomainAxis().getLabel()); NumberAxis logyaxis = new LogarithmicAxis(plot.getRangeAxis().getLabel()); plot.setRangeAxis(logyaxis);/* w w w.j a v a 2s . c om*/ plot.setDomainAxis(logxaxis); }
From source file:logica_controladores.controlador_estadistica.java
public static void grafica_orden(JPanel panel_grafica_orden, Inventario inventario, JLabel lbLinea) { XYSeries serie = null;/*from w w w .j av a 2 s.c o m*/ XYSeries serie_2 = null; JFreeChart linea; serie = new XYSeries("graficas relacion gastos-orden"); Gasto gasto_minimo = valor_minimo(inventario); Gasto gasto_max = valor_maximo(inventario); for (int i = 0; i < inventario.getGastos().size(); i = i + inventario.getReorden_max()) { serie.add(inventario.getGastos().get(i).getOrden_inicial(), inventario.getGastos().get(i).getGastos()); } serie_2 = new XYSeries("graficas relacion gastos-reorden"); for (int i = 0; i < inventario.getGastos().size(); i = i + inventario.getOrden_max()) { serie_2.add(inventario.getGastos().get(i).getReorden(), inventario.getGastos().get(i).getGastos()); } final XYSeriesCollection datos = new XYSeriesCollection(); datos.addSeries(serie); datos.addSeries(serie_2); linea = ChartFactory.createXYLineChart( "grafica representativa de ordenes por corrida, gasto_minimo(orden: " + gasto_minimo.getOrden_inicial() + "reorden: " + gasto_minimo.getReorden() + ")= " + gasto_minimo.getGastos(), "rango", "gastos", datos, PlotOrientation.VERTICAL, true, true, true); final XYPlot plot = (XYPlot) linea.getPlot(); final NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis(); final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); configurarDomainAxis(domainAxis, inventario); configurarRangeAxis(rangeAxis, gasto_minimo.getGastos(), gasto_max.getGastos()); BufferedImage graficoLinea = linea.createBufferedImage(600, 280); lbLinea.setSize(panel_grafica_orden.getSize()); lbLinea.setIcon(new ImageIcon(graficoLinea)); panel_grafica_orden.updateUI(); }
From source file:org.jfree.chart.demo.AnnotationDemo1.java
private static JFreeChart createChart(XYDataset xydataset) { JFreeChart jfreechart = ChartFactory.createXYLineChart(null, "Age in Months", "Weight (kg)", xydataset, PlotOrientation.VERTICAL, true, true, false); TextTitle texttitle = new TextTitle("Growth Charts: United States", new Font("SansSerif", 1, 14)); TextTitle texttitle1 = new TextTitle("Weight-for-age percentiles: boys, birth to 36 months", new Font("SansSerif", 0, 11)); jfreechart.addSubtitle(texttitle);// www . ja va2 s. c om jfreechart.addSubtitle(texttitle1); XYPlot xyplot = (XYPlot) jfreechart.getPlot(); NumberAxis numberaxis = (NumberAxis) xyplot.getDomainAxis(); numberaxis.setUpperMargin(0.12D); numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); NumberAxis numberaxis1 = (NumberAxis) xyplot.getRangeAxis(); numberaxis1.setAutoRangeIncludesZero(false); XYTextAnnotation xytextannotation = null; Font font = new Font("SansSerif", 0, 9); xytextannotation = new XYTextAnnotation("3rd", 36.5D, 11.76D); xytextannotation.setFont(font); xytextannotation.setTextAnchor(TextAnchor.HALF_ASCENT_LEFT); xyplot.addAnnotation(xytextannotation); xytextannotation = new XYTextAnnotation("5th", 36.5D, 12.039999999999999D); xytextannotation.setFont(font); xytextannotation.setTextAnchor(TextAnchor.HALF_ASCENT_LEFT); xyplot.addAnnotation(xytextannotation); xytextannotation = new XYTextAnnotation("10th", 36.5D, 12.493D); xytextannotation.setFont(font); xytextannotation.setTextAnchor(TextAnchor.HALF_ASCENT_LEFT); xyplot.addAnnotation(xytextannotation); xytextannotation = new XYTextAnnotation("25th", 36.5D, 13.313000000000001D); xytextannotation.setFont(font); xytextannotation.setTextAnchor(TextAnchor.HALF_ASCENT_LEFT); xyplot.addAnnotation(xytextannotation); xytextannotation = new XYTextAnnotation("50th", 36.5D, 14.33D); xytextannotation.setFont(font); xytextannotation.setTextAnchor(TextAnchor.HALF_ASCENT_LEFT); xyplot.addAnnotation(xytextannotation); xytextannotation = new XYTextAnnotation("75th", 36.5D, 15.478D); xytextannotation.setFont(font); xytextannotation.setTextAnchor(TextAnchor.HALF_ASCENT_LEFT); xyplot.addAnnotation(xytextannotation); xytextannotation = new XYTextAnnotation("90th", 36.5D, 16.641999999999999D); xytextannotation.setFont(font); xytextannotation.setTextAnchor(TextAnchor.HALF_ASCENT_LEFT); xyplot.addAnnotation(xytextannotation); xytextannotation = new XYTextAnnotation("95th", 36.5D, 17.408000000000001D); xytextannotation.setFont(font); xytextannotation.setTextAnchor(TextAnchor.HALF_ASCENT_LEFT); xyplot.addAnnotation(xytextannotation); xytextannotation = new XYTextAnnotation("97th", 36.5D, 17.936D); xytextannotation.setFont(font); xytextannotation.setTextAnchor(TextAnchor.HALF_ASCENT_LEFT); xyplot.addAnnotation(xytextannotation); return jfreechart; }
From source file:statistic.graph.gui.Charts.java
private static void initXAxis(XYPlot plot, XYDataset dataset) { plot.setDomainAxis(new NumberAxis(plot.getDomainAxis().getLabel())); XYSeriesCollection collection = (XYSeriesCollection) dataset; double max = Double.NEGATIVE_INFINITY; double min = Double.POSITIVE_INFINITY; if (collection != null) { for (int s = 0; s < collection.getSeriesCount(); s++) { for (int d = 0; d < collection.getItemCount(s); d++) { XYDataItem data = collection.getSeries(s).getDataItem(d); if (data.getX().longValue() == Integer.MAX_VALUE || data.getX().longValue() == Integer.MIN_VALUE) { continue; }/* w w w.j a v a2 s . com*/ if (data.getX().doubleValue() > max) { max = data.getX().doubleValue(); } if (data.getX().doubleValue() < min) { min = data.getX().doubleValue(); } } } if (min < max) { plot.getDomainAxis().setStandardTickUnits(NumberAxis.createIntegerTickUnits()); plot.getDomainAxis().setRange(min - 0.5, max + 0.5); for (int s = 0; s < collection.getSeriesCount(); s++) { XYSeries series = collection.getSeries(s); if (series.indexOf(Integer.MIN_VALUE) >= 0) { XYDataItem item = series.remove((Number) Integer.MIN_VALUE); if (series.indexOf(min) < 0) { series.add(min, item.getY()); } } if (series.indexOf(Integer.MAX_VALUE) >= 0) { XYDataItem item = series.remove((Number) Integer.MAX_VALUE); if (series.indexOf(max) < 0) { series.add(max, item.getY()); } } } } else { plot.getDomainAxis().setStandardTickUnits(NumberAxis.createIntegerTickUnits()); plot.getDomainAxis().setRange(0 - 0.5, 1 + 0.5); } } else { plot.getDomainAxis().setStandardTickUnits(NumberAxis.createIntegerTickUnits()); plot.getDomainAxis().setRange(0 - 0.5, 1 + 0.5); } }
From source file:lu.lippmann.cdb.ext.hydviga.ui.GapsUIUtil.java
public static ChartPanel buildGapChartPanel(final Instances dataSet, final int dateIdx, final Attribute attr, final int gapsize, final int position) throws Exception { Instances filteredDs = WekaDataProcessingUtil.buildFilteredByAttributesDataSet(dataSet, new int[] { attr.index(), dateIdx }); filteredDs = WekaDataProcessingUtil.buildFilteredDataSet(filteredDs, 0, filteredDs.numAttributes() - 1, Math.max(0, position - GapsUtil.VALUES_BEFORE_AND_AFTER_RATIO * gapsize), Math.min(position + gapsize + GapsUtil.VALUES_BEFORE_AND_AFTER_RATIO * gapsize, filteredDs.numInstances() - 1)); final ChartPanel cp = TimeSeriesChartUtil.buildChartPanelForAllAttributes(filteredDs, false, WekaDataStatsUtil.getFirstDateAttributeIdx(filteredDs), null); final XYPlot xyp = (XYPlot) cp.getChart().getPlot(); xyp.getDomainAxis().setLabel(""); xyp.getRangeAxis().setLabel(""); final Marker gapBeginMarker = new ValueMarker(dataSet.instance(Math.max(0, position - 1)).value(dateIdx)); gapBeginMarker.setPaint(Color.RED); gapBeginMarker.setLabel("Gap begin"); gapBeginMarker.setLabelAnchor(RectangleAnchor.TOP_LEFT); gapBeginMarker.setLabelTextAnchor(TextAnchor.TOP_RIGHT); cp.getChart().getXYPlot().addDomainMarker(gapBeginMarker); final Marker gapEndMarker = new ValueMarker( dataSet.instance(Math.min(dataSet.numInstances() - 1, position + gapsize)).value(dateIdx)); gapEndMarker.setPaint(Color.RED); gapEndMarker.setLabel("Gap end"); gapEndMarker.setLabelAnchor(RectangleAnchor.TOP_RIGHT); gapEndMarker.setLabelTextAnchor(TextAnchor.TOP_LEFT); cp.getChart().getXYPlot().addDomainMarker(gapEndMarker); addExportPopupMenu(filteredDs, cp);//from w w w.jav a2s .c o m return cp; }
From source file:com.projity.pm.graphic.chart.ChartHelper.java
public static void removeAxisAndInsets(XYPlot plot) { plot.getRangeAxis().setVisible(false); plot.getDomainAxis().setVisible(false); plot.setDomainGridlinesVisible(false); plot.setInsets(new RectangleInsets(0, 0, BOTTOM_INSET, 0)); }
From source file:org.jfree.chart.demo.BubbleChartDemo1.java
private static JFreeChart createChart(XYZDataset xyzdataset) { JFreeChart jfreechart = ChartFactory.createBubbleChart("Bubble Chart Demo 1", "X", "Y", xyzdataset, PlotOrientation.HORIZONTAL, true, true, false); XYPlot xyplot = (XYPlot) jfreechart.getPlot(); xyplot.setForegroundAlpha(0.65F);/* w ww. ja va 2 s . co m*/ XYItemRenderer xyitemrenderer = xyplot.getRenderer(); xyitemrenderer.setSeriesPaint(0, Color.blue); NumberAxis numberaxis = (NumberAxis) xyplot.getDomainAxis(); numberaxis.setLowerMargin(0.14999999999999999D); numberaxis.setUpperMargin(0.14999999999999999D); NumberAxis numberaxis1 = (NumberAxis) xyplot.getRangeAxis(); numberaxis1.setLowerMargin(0.14999999999999999D); numberaxis1.setUpperMargin(0.14999999999999999D); return jfreechart; }
From source file:net.sf.maltcms.chromaui.charts.tools.ChartTools.java
/** * * @param plot// w ww .j av a2 s .c om * @param screenPoint * @param screenDataArea * @return */ public static Point translatePointToImageCoord(XYPlot plot, final Point screenPoint, final Rectangle2D screenDataArea) { final ValueAxis da = plot.getDomainAxis(); final ValueAxis ra = plot.getRangeAxis(); final double x = da.java2DToValue(screenPoint.getX(), screenDataArea, plot.getDomainAxisEdge()); final double y = ra.java2DToValue(screenPoint.getY(), screenDataArea, plot.getRangeAxisEdge()); Logger.getLogger(ChartTools.class.getName()).log(Level.INFO, "{0} - {1}", new Object[] { x, y }); if (x > 0 && y > 0) { return new Point((int) x, (int) y); } // final double axisXperc = (x - plot.getDomainAxis().getLowerBound()) // / (plot.getDomainAxis().getUpperBound() - plot.getDomainAxis().getLowerBound()); // final double axisYperc = (y - plot.getRangeAxis().getLowerBound()) // / (plot.getRangeAxis().getUpperBound() - plot.getRangeAxis().getLowerBound()); // // System.out.println(axisXperc + " - " + axisYperc); // final int newX = (int) (axisXperc * this.imageWidth); // final int newY = (int) (axisYperc * this.imageHeight); return null; }
From source file:org.jfree.chart.demo.XYDrawableAnnotationDemo1.java
private static JFreeChart createChart(XYDataset xydataset) { JFreeChart jfreechart = ChartFactory.createTimeSeriesChart("XYDrawableAnnotationDemo1", null, "$ million", xydataset, true, true, false); XYPlot xyplot = (XYPlot) jfreechart.getPlot(); xyplot.setDomainPannable(true);/* ww w. j a v a 2s .co m*/ xyplot.setRangePannable(true); DateAxis dateaxis = (DateAxis) xyplot.getDomainAxis(); dateaxis.setLowerMargin(0.20000000000000001D); dateaxis.setUpperMargin(0.20000000000000001D); dateaxis.setStandardTickUnits(createStandardDateTickUnits()); NumberAxis numberaxis = (NumberAxis) xyplot.getRangeAxis(); numberaxis.setLowerMargin(0.20000000000000001D); numberaxis.setUpperMargin(0.20000000000000001D); XYLineAndShapeRenderer xylineandshaperenderer = new XYLineAndShapeRenderer(); xylineandshaperenderer.setBaseShapesVisible(true); xylineandshaperenderer.setBaseLinesVisible(true); xylineandshaperenderer.setSeriesShape(0, new java.awt.geom.Ellipse2D.Double(-5D, -5D, 10D, 10D)); xylineandshaperenderer.setSeriesShape(1, new java.awt.geom.Ellipse2D.Double(-5D, -5D, 10D, 10D)); xylineandshaperenderer.setSeriesStroke(0, new BasicStroke(3F)); xylineandshaperenderer.setSeriesStroke(1, new BasicStroke(3F, 1, 1, 5F, new float[] { 10F, 5F }, 0.0F)); xylineandshaperenderer.setSeriesFillPaint(0, Color.white); xylineandshaperenderer.setSeriesFillPaint(1, Color.white); xylineandshaperenderer.setUseFillPaint(true); xylineandshaperenderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator()); xylineandshaperenderer.setDefaultEntityRadius(6); xylineandshaperenderer.addAnnotation(new XYDrawableAnnotation((new Month(4, 2005)).getFirstMillisecond(), 600D, 180D, 100D, 3D, createPieChart())); xylineandshaperenderer.addAnnotation(new XYDrawableAnnotation((new Month(9, 2007)).getFirstMillisecond(), 1250D, 120D, 100D, 2D, createBarChart())); xyplot.setRenderer(xylineandshaperenderer); return jfreechart; }