List of usage examples for org.jfree.chart.axis NumberAxis setTickUnit
public void setTickUnit(NumberTickUnit unit)
From source file:org.talend.dataprofiler.chart.util.TopChartFactory.java
/** * DOC Zqin Comment method "createBoxAndWhiskerChart". * /*ww w . java 2 s .co m*/ * @param title * @param dataset * @return */ public static JFreeChart createBoxAndWhiskerChart(String title, BoxAndWhiskerCategoryDataset dataset) { // ADD msjian TDQ-5112 2012-4-10: after upgrate to jfreechart-1.0.12.jar, change the default chart wallPaint ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme()); // TDQ-5112~ JFreeChart chart = ChartFactory.createBoxAndWhiskerChart(null, title, Messages.getString("TopChartFactory.Value"), dataset, false); //$NON-NLS-1$ CategoryPlot plot = chart.getCategoryPlot(); NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setAutoRange(false); double min = dataset.getMinRegularValue("0", "").doubleValue(); //$NON-NLS-1$ //$NON-NLS-2$ double max = dataset.getMaxRegularValue("0", "").doubleValue(); //$NON-NLS-1$ //$NON-NLS-2$ double unit = (max - min) / 10; rangeAxis.setRange(min - unit, max + unit); rangeAxis.setTickUnit(new NumberTickUnit(unit)); BoxAndWhiskerRenderer renderer = (BoxAndWhiskerRenderer) plot.getRenderer(); renderer.setArtifactPaint(ChartDecorator.COLOR_LIST.get(1)); return chart; }
From source file:Modelos.Grafica.java
private void configurarRangeAxis(NumberAxis rangeAxis) { rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); rangeAxis.setTickUnit(new NumberTickUnit(5)); rangeAxis.setRange(0, 100);/*from w w w . j a v a 2 s.co m*/ }
From source file:Modelos.Grafica.java
private void configurarDomainAxis(NumberAxis domainAxis) { domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); domainAxis.setTickUnit(new NumberTickUnit(5)); }
From source file:de.berlios.statcvs.xml.report.CommitActivityChart.java
public XYPlot createPlot(XYDataset dataset, String title) { NumberAxis valueAxis = new NumberAxis(title); valueAxis.setTickUnit(new NumberTickUnit(6.0, new DecimalFormat("0"))); valueAxis.setAutoRangeIncludesZero(false); valueAxis.setLowerBound(0);//w w w .j ava 2s .c om valueAxis.setUpperBound(24); valueAxis.setLabelFont(new Font("SansSerif", Font.PLAIN, 9)); return new XYPlot(dataset, null, valueAxis, new PointXYRenderer()); }
From source file:com.bdb.weather.display.windrose.WindRosePlot.java
/** * Constructor.// w w w.j a v a 2s . c om */ public WindRosePlot() { super(); NumberAxis axis = new NumberAxis("%"); axis.setTickUnit(new NumberTickUnit(10.0)); setAxis(axis); renderer = new CompassPolarItemRenderer(); renderer.setBasePaint(Color.black); renderer.setShapesVisible(false); renderer.setDrawOutlineWhenFilled(false); renderer.setFillComposite(AlphaComposite.Src); setRenderer(renderer); setAngleGridlinesVisible(true); setAngleGridlinePaint(Color.black); setRadiusGridlinesVisible(true); setRadiusGridlinePaint(Color.BLACK); }
From source file:com.sixrr.metrics.ui.charts.HistogramDialog.java
private JFreeChart createChart(IntervalXYDataset dataset, boolean isIntegral) { final String title = getTitle(); final NumberAxis xAxis = new NumberAxis(); if (isIntegral) { xAxis.setTickUnit(new NumberTickUnit(1.0)); }//from w ww .j a v a 2s . com if (metricType == MetricType.Ratio || metricType == MetricType.RecursiveRatio) { xAxis.setNumberFormatOverride(new PercentFormatter()); } final XYToolTipGenerator tooltipGenerator = new StandardXYToolTipGenerator(); final XYItemRenderer renderer = new XYBarRenderer(); renderer.setToolTipGenerator(tooltipGenerator); renderer.setURLGenerator(null); final ValueAxis yAxis = new NumberAxis(); final XYPlot plot = new XYPlot(dataset, xAxis, yAxis, null); plot.setRenderer(renderer); plot.setOrientation(PlotOrientation.VERTICAL); return new JFreeChart(title, JFreeChartConstants.DEFAULT_TITLE_FONT, plot, true); }
From source file:physical_network.OscilloscopePanel.java
public OscilloscopePanel() { super("Oscilloscope"); // Set initial (time, voltage) datapoint of (0.0, 0.0). voltages.add(0.0, 0.0);// w w w.ja v a2 s .c om XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(voltages); JFreeChart chart = ChartFactory.createXYLineChart("Oscilloscope", "Time (seconds)", "Voltage", dataset, PlotOrientation.VERTICAL, true, false, false); XYPlot plot = (XYPlot) chart.getPlot(); XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); renderer.setSeriesLinesVisible(0, true); NumberAxis domain = (NumberAxis) plot.getDomainAxis(); domain.setRange(0.0, 10.0); domain.setTickUnit(new NumberTickUnit(1.0)); domain.setVerticalTickLabels(true); NumberAxis range = (NumberAxis) plot.getRangeAxis(); range.setRange(-5.0, 5.0); range.setTickUnit(new NumberTickUnit(1.0)); plot.setRenderer(renderer); ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(500, 300)); setContentPane(chartPanel); }
From source file:net.sf.jasperreports.customizers.axis.AbstractAxisCustomizer.java
protected void configNumberAxis(NumberAxis numberAxis, String tickUnitProp) { if (numberAxis != null) { Double tickUnit = getDoubleProperty(tickUnitProp); if (tickUnit != null) { numberAxis.setTickUnit(new NumberTickUnit(tickUnit)); }/* www. j a va 2s. com*/ } }
From source file:mrmc.chart.StudyDesignPlot.java
/** * Constructs the chart/*from www. ja va 2s. c o m*/ * * @param dataset Representation of x-y data * @param title Title of chart * @param xaxis Label for x-axis * @param yaxis Label for y-axis * @return The chart */ private JFreeChart createChart(final DefaultXYDataset dataset, String title, String xaxis, String yaxis) { final JFreeChart chart = ChartFactory.createScatterPlot(title, xaxis, yaxis, dataset, PlotOrientation.VERTICAL, true, true, false); XYPlot xyplot = (XYPlot) chart.getPlot(); NumberAxis rangeAxis = (NumberAxis) xyplot.getRangeAxis(); ; rangeAxis.setLowerBound(-.5); rangeAxis.setTickUnit(new NumberTickUnit(1)); XYItemRenderer renderer = xyplot.getRenderer(); Rectangle square = new Rectangle(5, 5); renderer.setSeriesShape(0, square); renderer.setSeriesShape(1, square); renderer.setSeriesPaint(0, Color.white); renderer.setSeriesPaint(1, Color.black); return chart; }
From source file:no.met.jtimeseries.marinogram.MarinogramPressurePlot.java
private XYPlot createPlot(TimeZone timezone, boolean plotPressure) { ChartPlotter plotter = null;/*from w ww .j a v a 2 s . c o m*/ if (plotPressure) { plotter = new ChartPlotter(); // default setting plotter.setHeight(this.getHeight()); plotter.setWidth(this.getWidth()); plotter.setPlotDefaultProperties("", ""); NumberPhenomenon pressure = getLocationForecastDataModel() .getPhenomenen(PhenomenonName.Pressure.toString(), NumberPhenomenon.class); List<Date> shortTermTime = pressure.getTime(); Color pressureColor = new Color(11, 164, 42); PlotStyle.Builder pressureStyleBuilder = new PlotStyle.Builder( messages.getString("parameter.pressure") + " (hPa)"); PlotStyle plotStyle = pressureStyleBuilder.spline(SplineStyle.HYBRID).ticks(4).difference(50.0d) .seriesColor(pressureColor).labelColor(pressureColor).build(); plotter.addLineChart(TimeBase.SECOND, pressure, plotStyle); //plotter.formalizeRangeAxisWithMargins(plotter.getRangeAxisIndex() - 1, 950, 1050); double tick = (pressure.getMaxValue() - pressure.getMinValue()) / 2; tick = Math.ceil(tick / 10) * 10; double lowBound = Math.floor(pressure.getMinValue() / (tick)) * (tick); lowBound = lowBound - tick / 2; double upperBound = lowBound + tick * 4; //replicate the range axis NumberAxis referenceAxis = (NumberAxis) plotter.getPlot().getRangeAxis(); referenceAxis.setTickUnit(new NumberTickUnit(tick)); referenceAxis.setLowerBound(lowBound); referenceAxis.setUpperBound(upperBound); NumberAxis numberAxis = new NumberAxis(); numberAxis.setLabelPaint(pressureColor); numberAxis.setTickLabelPaint(referenceAxis.getTickLabelPaint()); //numberAxis.setLowerMargin(ChartPlotter.LOWER_PLOT_MARGIN); numberAxis.setRange(referenceAxis.getLowerBound(), referenceAxis.getUpperBound()); numberAxis.setTickUnit(referenceAxis.getTickUnit()); //numberAxis.setRangeWithMargins(950, 1050); plotter.getPlot().setRangeAxis(1, numberAxis); //first set domain date format and then add hour based domain grid lines //TODO: wrap this inside the addHourBasedDomainGridLines for simplicity Date minDate = shortTermTime.get(0); Date maxDate = shortTermTime.get(shortTermTime.size() >= 48 ? 48 : shortTermTime.size() - 1); plotter.setDomainRange(minDate, maxDate); plotter.setDomainDateFormat(timezone, "HH"); plotter.getPlot().setOutlineVisible(true); //set domain range after (must) plot all the data plotter.addHourBasedDomainGridLines(); //invisible domain axis plotter.getPlot().getDomainAxis().setTickLabelsVisible(false); // add markers plotter.addDomainMarkers(shortTermTime, timezone, locale); } return plotter.getPlot(); }