List of usage examples for org.jfree.chart.axis CategoryAxis CategoryAxis
public CategoryAxis(String label)
From source file:charts.Chart.java
public static void StepChart(CategoryDataset dataset, String title, String x_axis_label, String y_axis_label, boolean showlegend, float maxvalue, float minvalue) { JFrame chartwindow = new JFrame(title); CategoryItemRenderer renderer = new CategoryStepRenderer(true); CategoryAxis domainAxis = new CategoryAxis(x_axis_label); ValueAxis rangeAxis = new NumberAxis(y_axis_label); CategoryPlot categoryplot = new CategoryPlot(dataset, domainAxis, rangeAxis, renderer); JFreeChart jfreechart = new JFreeChart(title, categoryplot); categoryplot.setBackgroundPaint(Color.white); categoryplot.setRangeGridlinePaint(Color.black); //NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis(); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); if (minvalue == 0 && maxvalue == 0) { rangeAxis.setAutoRange(true);//w w w . j a v a 2 s. com } else { rangeAxis.setRange(minvalue, maxvalue); } JPanel jpanel = new ChartPanel(jfreechart); jpanel.setPreferredSize(new Dimension(defaultwidth, defaultheight)); chartwindow.setContentPane(jpanel); chartwindow.pack(); RefineryUtilities.centerFrameOnScreen(chartwindow); chartwindow.setVisible(true); }
From source file:org.hxzon.demo.jfreechart.CategoryDatasetDemo2.java
private static JFreeChart createGanttChart(CategoryDataset dataset) { CategoryAxis categoryAxis = new CategoryAxis(categoryAxisLabel); DateAxis dateAxis = new DateAxis(valueAxisLabel); CategoryItemRenderer renderer = new GanttRenderer(); if (tooltips) { renderer.setBaseToolTipGenerator( new IntervalCategoryToolTipGenerator("{3} - {4}", DateFormat.getDateInstance())); }//from ww w.ja v a2s.com if (urls) { renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator()); } CategoryPlot plot = new CategoryPlot(dataset, categoryAxis, dateAxis, renderer); plot.setOrientation(PlotOrientation.HORIZONTAL); JFreeChart chart = new JFreeChart("Gantt Chart Demo 1", JFreeChart.DEFAULT_TITLE_FONT, plot, legend); chart.setBackgroundPaint(Color.white); GradientPaint gp0 = new GradientPaint(0.0f, 0.0f, Color.blue, 0.0f, 0.0f, new Color(0, 0, 64)); GradientPaint gp1 = new GradientPaint(0.0f, 0.0f, Color.green, 0.0f, 0.0f, new Color(0, 64, 0)); GradientPaint gp2 = new GradientPaint(0.0f, 0.0f, Color.red, 0.0f, 0.0f, new Color(64, 0, 0)); renderer.setSeriesPaint(0, gp0); renderer.setSeriesPaint(1, gp1); renderer.setSeriesPaint(2, gp2); plot.setDomainCrosshairVisible(true); plot.setRangeCrosshairVisible(true); return chart; }
From source file:charts.Chart.java
public static Vector MultipleStepChartOverlayed(CategoryDataset[] datasets1, CategoryDataset[] datasets2, String title, String x_axis_label, String y_axis_label, boolean showlegend, float maxvalue, float minvalue, boolean showchart) { CategoryAxis domainAxis = new CategoryAxis(x_axis_label); ValueAxis rangeAxis = new NumberAxis(y_axis_label); rangeAxis.setStandardTickUnits(NumberAxis.createStandardTickUnits()); //if (minvalue == 0 && maxvalue == 0) { // rangeAxis.setAutoRange(true); //} else {// ww w . j a v a2 s. c o m // rangeAxis.setRange(minvalue, maxvalue); //} rangeAxis.setAutoRange(true); CombinedDomainCategoryPlot parent = new CombinedDomainCategoryPlot(new CategoryAxis(x_axis_label)); for (int i = 0; i < datasets1.length; i++) { CategoryItemRenderer renderer1 = new CategoryStepRenderer(true); renderer1.setBaseStroke(new BasicStroke(2.0f)); renderer1.setBaseSeriesVisibleInLegend(showlegend); CategoryPlot subplot = new CategoryPlot(datasets1[i], domainAxis, rangeAxis, renderer1); subplot.setBackgroundPaint(Color.white); subplot.setRangeGridlinePaint(Color.black); subplot.setDomainGridlinesVisible(true); DefaultCategoryItemRenderer renderer2 = new DefaultCategoryItemRenderer(); renderer2.setSeriesPaint(0, Color.LIGHT_GRAY); renderer2.setBaseStroke(new BasicStroke(2.0f)); renderer2.setShapesVisible(true); renderer2.setBaseSeriesVisibleInLegend(false); subplot.setDataset(1, datasets2[i]); subplot.setRenderer(1, renderer2); //subplot.setDrawSharedDomainAxis(true); parent.add(subplot, 1); } JFreeChart jfreechart = new JFreeChart(title, parent); JPanel jpanel = new ChartPanel(jfreechart); jpanel.setPreferredSize(new Dimension(defaultwidth, defaultheight)); //if (showchart) { JFrame chartwindow = new JFrame(title); chartwindow.setContentPane(jpanel); chartwindow.pack(); RefineryUtilities.centerFrameOnScreen(chartwindow); chartwindow.setVisible(true); //} Vector res = new Vector(); res.add(0, jfreechart); res.add(1, chartwindow); return res; }
From source file:skoa.helpers.Graficos.java
private void barrasDual2() { unificarDatosFicheros();//ww w.j a v a2s .c o m Vector<String> vectorOrdenUnidades = new Vector<String>(); vectorOrdenUnidades = ordenDeUnidades(); aplicarDiferencia(vectorOrdenUnidades); //En este caso, que queremos 2 ejes, MARCAMOS LA DIFERENCIA AL RECOGER EL 2 DATASET. CategoryDataset dataset = obtenerSerieBarrasDual(1); //String unidad=vectorOrdenUnidades.elementAt(0); String unidad; if (vectorOrdenUnidades.elementAt(0).indexOf("W") >= 0 || vectorOrdenUnidades.elementAt(0).indexOf("L") >= 0 || vectorOrdenUnidades.elementAt(0).indexOf("m") >= 0 || vectorOrdenUnidades.elementAt(0).indexOf("B") >= 0) unidad = vectorOrdenUnidades.elementAt(0); else if (vectorOrdenUnidades.elementAt(0).indexOf("C") >= 0) unidad = "C"; else unidad = ""; final CategoryAxis domainAxis = new CategoryAxis("Fechas"); final NumberAxis rangeAxis = new NumberAxis("Mediciones (" + unidad + ")"); final BarRenderer renderer1 = new BarRenderer(); final CategoryPlot plot = new CategoryPlot(dataset, domainAxis, rangeAxis, renderer1) { private static final long serialVersionUID = 1L; //ESPECIAL. Modificamos la leyenda, para que se vea correcta, cogiendo los 2 items deseados. public LegendItemCollection getLegendItems() { final LegendItemCollection result = new LegendItemCollection(); final CategoryDataset data = getDataset(); if (data != null) { final CategoryItemRenderer r = getRenderer(); if (r != null) { final LegendItem item; try { //Se recoge la excepcion en caso de haber solo item = r.getLegendItem(0, 0); //una lnea en el fichero unificado, porque } catch (Exception e) { //no habria nada en diferenciaAplicada. System.out.println("MAL " + e); return null; } result.add(item); } } final CategoryDataset dset2 = getDataset(1); if (dset2 != null) { final CategoryItemRenderer renderer2 = getRenderer(1); if (renderer2 != null) { final LegendItem item = renderer2.getLegendItem(1, 1); result.add(item); } } return result; } }; final JFreeChart grafica = new JFreeChart("Valores medidos de las direcciones de grupo", plot); plot.setBackgroundPaint(new Color(0xEE, 0xEE, 0xFF)); plot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT); CategoryDataset dataset2 = obtenerSerieBarrasDual(2); //unidad=vectorOrdenUnidades.elementAt(1); if (vectorOrdenUnidades.elementAt(1).indexOf("W") >= 0 || vectorOrdenUnidades.elementAt(1).indexOf("L") >= 0 || vectorOrdenUnidades.elementAt(1).indexOf("m") >= 0 || vectorOrdenUnidades.elementAt(1).indexOf("B") >= 0) unidad = vectorOrdenUnidades.elementAt(1); else if (vectorOrdenUnidades.elementAt(1).indexOf("C") >= 0) unidad = "C"; else unidad = ""; plot.setDataset(1, dataset2); plot.mapDatasetToRangeAxis(1, 1); final ValueAxis axis2 = new NumberAxis("Mediciones (" + unidad + ")"); plot.setRangeAxis(1, axis2); plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT); final BarRenderer renderer2 = new BarRenderer(); renderer2.setShadowVisible(false); //Esconder las sombras de la barra 1. plot.setRenderer(1, renderer2); BarRenderer renderer = new BarRenderer(); renderer.setShadowVisible(false); //Esconder las sombras de la barra 2. plot.setRenderer(0, renderer); plot.setRangeGridlinePaint(Color.BLACK); //Color de las lineas divisorias. //Subttulos if (fechaInicial.isEmpty()) { fechaInicial = fechaFinal = "?"; } TextTitle t = new TextTitle("desde " + fechaInicial + " hasta " + fechaFinal, new Font("SanSerif", Font.ITALIC, 12)); grafica.addSubtitle(t); domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0)); domainAxis.setTickLabelFont(new Font("Dialog", Font.PLAIN, 8)); //Letra de las fechas ms pequea grafica.setBackgroundPaint(Color.white); //------------------------------------------------- //Guarda la imagen: BufferedImage i1 = grafica.createBufferedImage(400, 300); BufferedImage i2 = grafica.createBufferedImage(900, 600); BufferedImage imag1 = convertirTipo(i1, BufferedImage.TYPE_INT_RGB);//!OBLIGATORIO!Para que al guardar la imagen, BufferedImage imag2 = convertirTipo(i2, BufferedImage.TYPE_INT_RGB);//no se vea transparente naranja. try { ImageIO.write(imag1, "jpg", new File(ruta + "BarrasSmall.jpg")); ImageIO.write(imag2, "jpg", new File(ruta + "BarrasBig.jpg")); } catch (IOException e) { System.out.println("Error de escritura"); } }
From source file:org.hxzon.demo.jfreechart.CategoryDatasetDemo2.java
private static JFreeChart createWaterfallChart(CategoryDataset dataset) { CategoryAxis categoryAxis = new CategoryAxis(categoryAxisLabel); categoryAxis.setCategoryMargin(0.0); ValueAxis valueAxis = new NumberAxis(valueAxisLabel); WaterfallBarRenderer renderer = new WaterfallBarRenderer(); if (orientation == PlotOrientation.HORIZONTAL) { ItemLabelPosition position = new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER, TextAnchor.CENTER, Math.PI / 2.0); renderer.setBasePositiveItemLabelPosition(position); renderer.setBaseNegativeItemLabelPosition(position); } else if (orientation == PlotOrientation.VERTICAL) { ItemLabelPosition position = new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER, TextAnchor.CENTER, 0.0); renderer.setBasePositiveItemLabelPosition(position); renderer.setBaseNegativeItemLabelPosition(position); }//from w w w .java2s. co m if (tooltips) { StandardCategoryToolTipGenerator generator = new StandardCategoryToolTipGenerator(); renderer.setBaseToolTipGenerator(generator); } if (urls) { renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator()); } CategoryPlot plot = new CategoryPlot(dataset, categoryAxis, valueAxis, renderer); plot.clearRangeMarkers(); Marker baseline = new ValueMarker(0.0); baseline.setPaint(Color.black); plot.addRangeMarker(baseline, Layer.FOREGROUND); plot.setOrientation(orientation); JFreeChart chart = new JFreeChart("Waterfall Chart Demo 1", JFreeChart.DEFAULT_TITLE_FONT, plot, legend); chart.setBackgroundPaint(Color.white); valueAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); GradientPaint gp0 = new GradientPaint(0.0f, 0.0f, Color.blue, 0.0f, 0.0f, new Color(0, 0, 64)); // GradientPaint gp1 = new GradientPaint(0.0f, 0.0f, Color.green, 0.0f, 0.0f, new Color(0, 64, 0)); GradientPaint gp2 = new GradientPaint(0.0f, 0.0f, Color.red, 0.0f, 0.0f, new Color(64, 0, 0)); // AbstractRenderer#setSeriesPaint(int, Paint) are ignored; // renderer.setSeriesPaint(0, gp0); // renderer.setSeriesPaint(1, gp1); // renderer.setSeriesPaint(2, gp2); //?? renderer.setFirstBarPaint(gp0); renderer.setLastBarPaint(gp2); renderer.setPositiveBarPaint(Color.orange); renderer.setNegativeBarPaint(Color.cyan); plot.setDomainCrosshairVisible(true); plot.setRangeCrosshairVisible(true); return chart; }
From source file:org.optaplanner.benchmark.impl.report.BenchmarkReport.java
private CategoryPlot createBarChartPlot(DefaultCategoryDataset dataset, String yAxisLabel, NumberFormat yAxisNumberFormat) { CategoryAxis xAxis = new CategoryAxis("Data"); xAxis.setCategoryMargin(0.40);/*from ww w . j a v a 2s . co m*/ NumberAxis yAxis = new NumberAxis(yAxisLabel); yAxis.setNumberFormatOverride(yAxisNumberFormat); BarRenderer renderer = createBarChartRenderer(yAxisNumberFormat); CategoryPlot plot = new CategoryPlot(dataset, xAxis, yAxis, renderer); plot.setOrientation(PlotOrientation.VERTICAL); return plot; }
From source file:charts.Chart.java
public static Vector MultipleStepChartOverlayedMA(CategoryDataset[] datasets, String title, String x_axis_label, String y_axis_label, boolean showlegend, float maxvalue, float minvalue, boolean showchart) { CategoryAxis domainAxis = new CategoryAxis(x_axis_label); ValueAxis rangeAxis = new NumberAxis(y_axis_label); rangeAxis.setStandardTickUnits(NumberAxis.createStandardTickUnits()); rangeAxis.setAutoRange(true);//from w w w . jav a 2s . co m CombinedDomainCategoryPlot parent = new CombinedDomainCategoryPlot(new CategoryAxis(x_axis_label)); DefaultCategoryItemRenderer renderer0 = new DefaultCategoryItemRenderer(); renderer0.setBaseStroke(new BasicStroke(2.0f)); renderer0.setBaseSeriesVisibleInLegend(showlegend); renderer0.setSeriesPaint(0, Color.RED);//sinal original renderer0.setShapesVisible(false); CategoryPlot subplot = new CategoryPlot(datasets[0], domainAxis, rangeAxis, renderer0); subplot.setBackgroundPaint(Color.white); subplot.setRangeGridlinePaint(Color.black); subplot.setDomainGridlinesVisible(true); parent.add(subplot); CategoryAxis domainAxis1 = new CategoryAxis(x_axis_label); ValueAxis rangeAxis1 = new NumberAxis(y_axis_label); rangeAxis1.setStandardTickUnits(NumberAxis.createStandardTickUnits()); rangeAxis1.setAutoRange(true); CategoryItemRenderer renderer1 = new CategoryStepRenderer(true); renderer1.setBaseStroke(new BasicStroke(2.0f)); renderer1.setBaseSeriesVisibleInLegend(showlegend); renderer1.setSeriesPaint(0, Color.BLUE);//sinal quantizado CategoryPlot subplot1 = new CategoryPlot(datasets[1], domainAxis1, rangeAxis1, renderer1); //subplot.setDataset(1, datasets[1]); //subplot.setRenderer(1, renderer1); parent.add(subplot1); DefaultCategoryItemRenderer renderer2 = new DefaultCategoryItemRenderer(); renderer2.setBaseStroke(new BasicStroke(2.0f)); renderer2.setBaseSeriesVisibleInLegend(showlegend); renderer2.setShapesVisible(false); renderer2.setSeriesPaint(0, Color.BLACK);//sinal normalizado subplot1.setDataset(1, datasets[2]); subplot1.setRenderer(1, renderer2); for (int i = 3; i < datasets.length; i++) { DefaultCategoryItemRenderer renderer3 = new DefaultCategoryItemRenderer(); renderer3.setBaseStroke(new BasicStroke(2.0f)); renderer3.setBaseSeriesVisibleInLegend(showlegend); renderer3.setShapesVisible(false); renderer3.setSeriesPaint(0, Color.LIGHT_GRAY);//limiares utilizados para quantizacao. subplot1.setDataset(i - 1, datasets[i]); subplot1.setRenderer(i - 1, renderer3); } JFreeChart jfreechart = new JFreeChart(title, parent); JPanel jpanel = new ChartPanel(jfreechart); JPanel retorno = new ChartPanel(jfreechart); retorno.setPreferredSize(new Dimension(defaultwidth, defaultheight)); jpanel.setPreferredSize(new Dimension(defaultwidth, defaultheight)); JFrame chartwindow = new JFrame(title); chartwindow.setContentPane(jpanel); chartwindow.pack(); RefineryUtilities.centerFrameOnScreen(chartwindow); chartwindow.setVisible(showchart); Vector res = new Vector(); res.add(0, jfreechart); res.add(1, chartwindow); res.add(2, retorno); return res; }
From source file:charts.Chart.java
public static Vector MultipleLineChart(CategoryDataset[] datasets, String title, String x_axis_label, String y_axis_label, boolean showlegend, float maxvalue, float minvalue, boolean showchart) { CategoryAxis domainAxis = new CategoryAxis(x_axis_label); ValueAxis rangeAxis = new NumberAxis(y_axis_label); rangeAxis.setStandardTickUnits(NumberAxis.createStandardTickUnits()); if (minvalue == 0 && maxvalue == 0) { rangeAxis.setAutoRange(true);// w ww . ja va 2 s .c om } else { rangeAxis.setRange(minvalue, maxvalue); } CombinedDomainCategoryPlot parent = new CombinedDomainCategoryPlot(new CategoryAxis(x_axis_label)); for (int i = 0; i < datasets.length; i++) { CategoryItemRenderer renderer = new DefaultCategoryItemRenderer();//new CategoryStepRenderer(true); renderer.setBaseStroke(new BasicStroke(2.0f)); renderer.setBaseSeriesVisibleInLegend(showlegend); CategoryPlot subplot = new CategoryPlot(datasets[i], domainAxis, rangeAxis, renderer); subplot.setBackgroundPaint(Color.white); subplot.setRangeGridlinePaint(Color.black); subplot.setDomainGridlinesVisible(true); //subplot.setDrawSharedDomainAxis(true); parent.add(subplot, 1); } JFreeChart jfreechart = new JFreeChart(title, parent); JPanel jpanel = new ChartPanel(jfreechart); jpanel.setPreferredSize(new Dimension(defaultwidth, defaultheight)); //if (showchart) { JFrame chartwindow = new JFrame(title); chartwindow.setContentPane(jpanel); chartwindow.pack(); RefineryUtilities.centerFrameOnScreen(chartwindow); chartwindow.setVisible(true); //} Vector res = new Vector(); res.add(0, jfreechart); res.add(1, chartwindow); return res; }
From source file:edu.dlnu.liuwenpeng.ChartFactory.ChartFactory.java
/** * Creates a bar chart. The chart object returned by this method uses a * {@link CategoryPlot} instance as the plot, with a {@link CategoryAxis} * for the domain axis, a {@link NumberAxis} as the range axis, and a * {@link BarRenderer} as the renderer. * /* w w w. j ava2s . c o m*/ * @param title the chart title (<code>null</code> permitted). * @param categoryAxisLabel the label for the category axis * (<code>null</code> permitted). * @param valueAxisLabel the label for the value axis * (<code>null</code> permitted). * @param dataset the dataset for the chart (<code>null</code> permitted). * @param orientation the plot orientation (horizontal or vertical) * (<code>null</code> not permitted). * @param legend a flag specifying whether or not a legend is required. * @param tooltips configure chart to generate tool tips? * @param urls configure chart to generate URLs? * * @return A bar chart. */ public static JFreeChart createBarChart(String title, String categoryAxisLabel, String valueAxisLabel, CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) { if (orientation == null) { throw new IllegalArgumentException("Null 'orientation' argument."); } CategoryAxis categoryAxis = new CategoryAxis(categoryAxisLabel); ValueAxis valueAxis = new NumberAxis(valueAxisLabel); BarRenderer renderer = new BarRenderer(); if (orientation == PlotOrientation.HORIZONTAL) { ItemLabelPosition position1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER_LEFT); renderer.setBasePositiveItemLabelPosition(position1); ItemLabelPosition position2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE9, TextAnchor.CENTER_RIGHT); renderer.setBaseNegativeItemLabelPosition(position2); } else if (orientation == PlotOrientation.VERTICAL) { ItemLabelPosition position1 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER); renderer.setBasePositiveItemLabelPosition(position1); ItemLabelPosition position2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE6, TextAnchor.TOP_CENTER); renderer.setBaseNegativeItemLabelPosition(position2); } if (tooltips) { renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); } if (urls) { renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator()); } CategoryPlot plot = new CategoryPlot(dataset, categoryAxis, valueAxis, renderer); plot.setOrientation(orientation); JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend); return chart; }
From source file:charts.Chart.java
public static JFreeChart MultipleStepChart(CategoryDataset[] datasets, String title, String x_axis_label, String y_axis_label, boolean showlegend, float maxvalue, float minvalue, boolean showchart) { CategoryAxis domainAxis = new CategoryAxis(x_axis_label); ValueAxis rangeAxis = new NumberAxis(y_axis_label); rangeAxis.setStandardTickUnits(NumberAxis.createStandardTickUnits()); if (minvalue == 0 && maxvalue == 0) { rangeAxis.setAutoRange(true);/* w w w . j a va 2s . co m*/ } else { rangeAxis.setRange(minvalue, maxvalue); } CombinedDomainCategoryPlot parent = new CombinedDomainCategoryPlot(new CategoryAxis(x_axis_label)); for (int i = 0; i < datasets.length; i++) { CategoryItemRenderer renderer = new CategoryStepRenderer(true); renderer.setBaseStroke(new BasicStroke(2.0f)); CategoryPlot subplot = new CategoryPlot(datasets[i], domainAxis, rangeAxis, renderer); subplot.setBackgroundPaint(Color.white); subplot.setRangeGridlinePaint(Color.black); subplot.setDomainGridlinesVisible(true); //subplot.setDrawSharedDomainAxis(true); parent.add(subplot, 1); } JFreeChart jfreechart = new JFreeChart(title, parent); JPanel jpanel = new ChartPanel(jfreechart); jpanel.setPreferredSize(new Dimension(defaultwidth, defaultheight)); if (showchart) { JFrame chartwindow = new JFrame(title); chartwindow.setContentPane(jpanel); chartwindow.pack(); RefineryUtilities.centerFrameOnScreen(chartwindow); chartwindow.setVisible(true); } return jfreechart; }