List of usage examples for org.jfree.chart.axis NumberAxis setAutoRangeMinimumSize
public void setAutoRangeMinimumSize(double size)
From source file:org.jfree.chart.demo.XYSeriesDemo2.java
/** * A demonstration application showing an {@link XYSeries} where all the y-values are the same. * * @param title the frame title.//from w w w.j a v a 2 s.c o m */ public XYSeriesDemo2(final String title) { super(title); final XYSeries series = new XYSeries("Flat Data"); series.add(1.0, 100.0); series.add(5.0, 100.0); series.add(4.0, 100.0); series.add(12.5, 100.0); series.add(17.3, 100.0); series.add(21.2, 100.0); series.add(21.9, 100.0); series.add(25.6, 100.0); series.add(30.0, 100.0); final XYSeriesCollection data = new XYSeriesCollection(series); final JFreeChart chart = ChartFactory.createXYLineChart("XY Series Demo 2", "X", "Y", data, PlotOrientation.VERTICAL, true, true, false); final XYPlot plot = (XYPlot) chart.getPlot(); final NumberAxis axis = (NumberAxis) plot.getRangeAxis(); axis.setAutoRangeIncludesZero(false); axis.setAutoRangeMinimumSize(1.0); final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(500, 270)); setContentPane(chartPanel); }
From source file:org.jfree.chart.demo.CyclicXYPlotDemo.java
/** * A demonstration application showing an XY plot, with a cyclic axis and renderer * * @param title the frame title.// w w w .ja v a 2s. c om */ public CyclicXYPlotDemo(final String title) { super(title); this.series = new XYSeries("Random Data"); this.series.setMaximumItemCount(50); // Only 50 items are visible at the same time. // Keep more as a mean to test this. final XYSeriesCollection data = new XYSeriesCollection(this.series); final JFreeChart chart = ChartFactory.createXYLineChart("Cyclic XY Plot Demo", "X", "Y", data, PlotOrientation.VERTICAL, true, true, false); final XYPlot plot = chart.getXYPlot(); plot.setDomainAxis(new CyclicNumberAxis(10, 0)); plot.setRenderer(new CyclicXYItemRenderer()); final NumberAxis axis = (NumberAxis) plot.getRangeAxis(); axis.setAutoRangeIncludesZero(false); axis.setAutoRangeMinimumSize(1.0); final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(400, 300)); final JPanel content = new JPanel(new BorderLayout()); content.add(chartPanel, BorderLayout.CENTER); final JButton button1 = new JButton("Start"); button1.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { timer.start(); } }); final JButton button2 = new JButton("Stop"); button2.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { timer.stop(); } }); final JButton button3 = new JButton("Step by step"); button3.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { CyclicXYPlotDemo.this.actionPerformed(null); } }); final JPanel buttonPanel = new JPanel(new FlowLayout()); buttonPanel.add(button1); buttonPanel.add(button2); buttonPanel.add(button3); content.add(buttonPanel, BorderLayout.SOUTH); setContentPane(content); this.timer = new Timer(200, this); }
From source file:org.interpss.chart.dstab.SimpleOneStateChart.java
/** * create the chart based on the data attributes * /* w w w . j a v a 2 s . c o m*/ */ public void createChart() { final JFreeChart chart = ChartFactory.createXYLineChart(plotTitle, xLabel, yLabel, createXYDataSet(xDataAry, yDataAry, yDataLabel), PlotOrientation.VERTICAL, true, false, false); final XYPlot plot = (XYPlot) chart.getPlot(); final StandardXYItemRenderer renderer = new StandardXYItemRenderer(); renderer.setToolTipGenerator(new StandardXYToolTipGenerator()); plot.setRenderer(renderer); //NumberAxis axis_x = (NumberAxis) plot.getDomainAxis(); //axis_x.setRangeAboutValue(12.0, 24.0); final NumberAxis axisLeft = (NumberAxis) plot.getRangeAxis(); axisLeft.setAutoRangeIncludesZero(false); axisLeft.setAutoRangeMinimumSize(autoRangeMinimumSize); final XYItemRenderer v_renderer = plot.getRenderer(0); v_renderer.setSeriesPaint(0, yColor); final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(Chart_Width, Chart_Height)); setContentPane(chartPanel); }
From source file:org.interpss.chart.dist.LoadScheduleChart.java
public void createChart() { final JFreeChart chart = ChartFactory.createXYLineChart(plotTitle, xLabel, voltYLabel, createDataSet(voltDataAry, voltDataLabel), PlotOrientation.VERTICAL, true, false, false); final XYPlot plot = (XYPlot) chart.getPlot(); final XYStepRenderer renderer = new XYStepRenderer(); renderer.setToolTipGenerator(new StandardXYToolTipGenerator()); plot.setRenderer(renderer);/*from w ww . ja v a 2s.co m*/ //NumberAxis axis_x = (NumberAxis) plot.getDomainAxis(); //axis_x.setRangeAboutValue(12.0, 24.0); final NumberAxis axisLeft = (NumberAxis) plot.getRangeAxis(); axisLeft.setAutoRangeIncludesZero(false); axisLeft.setAutoRangeMinimumSize(1.0); final NumberAxis axisRight = new NumberAxis(pqYLabel); axisRight.setAutoRangeIncludesZero(false); axisRight.setAutoRangeMinimumSize(1.0); plot.setRangeAxis(1, axisRight); final XYItemRenderer v_renderer = plot.getRenderer(0); v_renderer.setSeriesPaint(0, vColor); plot.setDataset(1, createDataSet(pDataAry, pDataLabel)); plot.mapDatasetToRangeAxis(1, 1); final XYStepRenderer p_renderer = new XYStepRenderer(); p_renderer.setSeriesPaint(0, pColor); p_renderer.setBaseShapesVisible(false); plot.setRenderer(1, p_renderer); plot.setDataset(2, createDataSet(qDataAry, qDataLabel)); plot.mapDatasetToRangeAxis(2, 1); final XYStepRenderer q_renderer = new XYStepRenderer(); q_renderer.setSeriesPaint(0, qColor); q_renderer.setBaseShapesVisible(false); plot.setRenderer(2, q_renderer); final ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new java.awt.Dimension(Chart_Width, Chart_Height)); setContentPane(chartPanel); }
From source file:org.cytoscape.dyn.internal.graphMetrics.GenerateChart.java
public JFreeChart generateTimeSeries() { dataset = new XYSeriesCollection(); XYSeries[] attributeSeries = new XYSeries[(selectedNodes.size() + selectedEdges.size()) * (checkedAttributes.size() + edgeCheckedAttributes.size())]; int j = 0;/* w w w . j a v a2 s . c om*/ /*creating dataseries for each node and its checked attribute and adding it to the dataset*/ for (CyNode node : selectedNodes) { // System.out.println(checkedAttributes.size()); for (int i = 0; i < checkedAttributes.size(); i++) { attributeSeries[j] = new XYSeries(dynamicNetwork.getNodeLabel(node) + checkedAttributes.get(i), false, true); // System.out.println(dynamicNetwork.getDynAttribute(node, // checkedAttributes.get(i)).getKey().getColumn()); for (DynInterval<T> interval : dynamicNetwork.getDynAttribute(node, checkedAttributes.get(i)) .getIntervalList()) { // System.out.println(interval.getOnValue()); double value; if (interval.getOnValue() instanceof Double) value = (Double) interval.getOnValue(); else value = ((Integer) interval.getOnValue()).doubleValue(); // System.out.println(value); attributeSeries[j].add(interval.getStart(), value); attributeSeries[j].add(interval.getEnd(), value); //System.out.println("interval start ="+interval.getStart()); //System.out.println("interval end ="+interval.getEnd()); //System.out.println("--------"); } dataset.addSeries(attributeSeries[j++]); } } /*creating dataseries for each edge and its checked attribute and adding it to the dataset*/ for (CyEdge edge : selectedEdges) { // System.out.println(checkedAttributes.size()); for (int i = 0; i < edgeCheckedAttributes.size(); i++) { attributeSeries[j] = new XYSeries(dynamicNetwork.getEdgeLabel(edge) + edgeCheckedAttributes.get(i), false, true); // System.out.println(dynamicNetwork.getDynAttribute(node, // checkedAttributes.get(i)).getKey().getColumn()); for (DynInterval<T> interval : dynamicNetwork.getDynAttribute(edge, edgeCheckedAttributes.get(i)) .getIntervalList()) { // System.out.println(interval.getOnValue()); double value; if (interval.getOnValue() instanceof Double) value = (Double) interval.getOnValue(); else if (interval.getOnValue() instanceof Integer) value = ((Integer) interval.getOnValue()).doubleValue(); else if (interval.getOnValue() instanceof Short) value = ((Short) interval.getOnValue()).doubleValue(); else value = ((Long) interval.getOnValue()).doubleValue(); // System.out.println(value); attributeSeries[j].add(interval.getStart(), value); attributeSeries[j].add(interval.getEnd(), value); } dataset.addSeries(attributeSeries[j++]); } } String title = "Dynamic Graph Metrics"; String xAxisLabel = "Time"; String yAxisLabel = "Centrality Value"; JFreeChart chart = ChartFactory.createXYStepChart(title, xAxisLabel, yAxisLabel, dataset, PlotOrientation.VERTICAL, true, // legend true, // tooltips false // urls ); NumberAxis xaxis = new NumberAxis(); xaxis.setAutoRangeMinimumSize(1.0); xaxis.setLabel("Time"); chart.getXYPlot().setDomainAxis(xaxis); NumberAxis yaxis = new NumberAxis(); yaxis.setAutoRangeIncludesZero(true); yaxis.setLabel("Centrality/Attribute Value"); chart.getXYPlot().setRangeAxis(yaxis); chart.setBackgroundPaint(Color.white); //chart.setPadding(new RectangleInsets(20,20,20,20)); chart.getXYPlot().setBackgroundPaint(Color.white); chart.getXYPlot().setDomainGridlinePaint(Color.gray); chart.getXYPlot().setRangeGridlinePaint(Color.gray); return chart; }
From source file:guineu.modules.filter.report.RTShift.ReportTask.java
/** * Create the chart and save it into a png file. * @param dataset/* www . j a va 2s . c om*/ * @param lipidName */ private void createChart(CategoryDataset dataset, String lipidName) { try { JFreeChart chart = ChartFactory.createLineChart("RT shift", "Samples", "RT", dataset, PlotOrientation.VERTICAL, false, false, false); // Chart characteristics CategoryPlot plot = (CategoryPlot) chart.getPlot(); final NumberAxis axis = (NumberAxis) plot.getRangeAxis(); axis.setAutoRangeIncludesZero(false); axis.setAutoRangeMinimumSize(1.0); LineAndShapeRenderer categoryRenderer = new LineAndShapeRenderer(); categoryRenderer.setSeriesLinesVisible(0, false); categoryRenderer.setSeriesShapesVisible(0, true); plot.setRenderer(categoryRenderer); // Save all the charts in the folder choosen by the user ChartUtilities.saveChartAsPNG(new File(this.reportFileName + "/RT Shift:" + lipidName + ".png"), chart, 1000, (500)); } catch (IOException ex) { Logger.getLogger(ReportTask.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:hudson.plugins.testlink.TestLinkGraph.java
/** * Creates TestLink trend graph./* w w w. j ava 2 s . c o m*/ * * @return the JFreeChart graph object. */ protected JFreeChart createGraph() { final JFreeChart chart = ChartFactory.createLineChart(null, null, yLabel, categoryDataset, PlotOrientation.VERTICAL, true, true, false); final LegendTitle legend = chart.getLegend(); legend.setPosition(RectangleEdge.RIGHT); chart.setBackgroundPaint(Color.white); final CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setForegroundAlpha(0.8f); plot.setBackgroundPaint(Color.white); plot.setRangeGridlinePaint(Color.darkGray); final CategoryAxis domainAxis = new ShiftedCategoryAxis(xLabel); domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); domainAxis.setLowerMargin(0.0); domainAxis.setUpperMargin(0.0); domainAxis.setCategoryMargin(0.0); plot.setDomainAxis(domainAxis); final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); rangeAxis.setAutoRange(true); rangeAxis.setAutoRangeMinimumSize(5); rangeAxis.setLowerBound(0); final CategoryItemRenderer renderer = plot.getRenderer(); renderer.setSeriesStroke(0, new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.CAP_BUTT, 1.0f, new float[] { 1.0f, 1.0f }, 0.0f)); renderer.setSeriesPaint(0, new Color(35, 20, 89)); renderer.setSeriesStroke(1, new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.CAP_BUTT, 1.0f, new float[] { 1.0f, 1.0f }, 0.0f)); renderer.setSeriesPaint(1, new Color(0, 145, 0)); renderer.setSeriesStroke(2, new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.CAP_BUTT, 1.0f, new float[] { 1.0f, 1.0f }, 0.0f)); renderer.setSeriesPaint(2, new Color(207, 69, 21)); renderer.setSeriesStroke(3, new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.CAP_BUTT, 1.0f, new float[] { 1.0f, 1.0f }, 0.0f)); renderer.setSeriesPaint(3, Color.orange); plot.setInsets(new RectangleInsets(5.0, 0, 0, 5.0)); return chart; }
From source file:openqcm.ChartDynamicData.java
public ChartDynamicData() { // add primary axis frequency TimeSeries seriesFrequency = new TimeSeries("Frequency (Hz)"); datasetFrequency = new TimeSeriesCollection(seriesFrequency); rangeAxisF = new NumberAxis("Frequency (Hz)"); XYItemRenderer renderer = new StandardXYItemRenderer(); renderer.setSeriesPaint(0, new Color(0, 142, 192)); rangeAxisF.setAutoRangeIncludesZero(false); rangeAxisF.setAutoRange(true);/* w w w.j av a2 s. c o m*/ rangeAxisF.setAutoRangeMinimumSize(50); plot.setDataset(0, datasetFrequency); plot.setRangeAxis(0, rangeAxisF); plot.setRangeAxisLocation(0, AxisLocation.BOTTOM_OR_LEFT); plot.setRenderer(0, renderer); plot.mapDatasetToRangeAxis(0, 0); // add secondary axis temperature TimeSeries seriesTemperature = new TimeSeries("Temperature (C)"); datasetTemperature = new TimeSeriesCollection(seriesTemperature); plot.setDataset(1, datasetTemperature); NumberAxis rangeAxisT = new NumberAxis("Temperature (C)"); rangeAxisT.setAutoRangeIncludesZero(false); rangeAxisT.setAutoRange(true); rangeAxisT.setAutoRangeMinimumSize(5); plot.setRangeAxis(1, rangeAxisT); plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT); // custom renderer for dinamically changing temperaure rendererT.setSeriesPaint(0, new Color(255, 128, 0)); plot.setRenderer(1, rendererT); plot.mapDatasetToRangeAxis(1, 1); plotComb.add(plot); plotComb.setBackgroundPaint(Color.white); plotComb.setDomainGridlinePaint(Color.white); plotComb.setRangeGridlinePaint(Color.white); // enable panning for both axis plotComb.setRangePannable(true); plotComb.setDomainPannable(true); // set time axis properties // format time axis as hh:mm:ss SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss"); DateAxis axis = (DateAxis) plotComb.getDomainAxis(); axis.setDateFormatOverride(format); // default auto range domainAxis.setAutoRange(true); // init the JFreeChart JFreeChart chart = new JFreeChart(plotComb); chart.setBorderPaint(Color.lightGray); chart.setBorderVisible(true); chart.setBackgroundPaint(Color.white); // set legend properties LegendTitle legend = chart.getLegend(); legend.setPosition(RectangleEdge.TOP); legend.setItemFont(new Font("Dialog", Font.PLAIN, 9)); // constructor for org.jfree.chart.ChartPanel // ChartPanel(JFreeChart chart, boolean properties, boolean save, boolean print, boolean zoom, boolean tooltips) ChartPanel chartPanel = new ChartPanel(chart, false, true, true, true, true); // enable mouse wheel support for the chart panel chartPanel.setMouseWheelEnabled(true); this.setLayout(new BorderLayout()); // add real time chart to the frame this.add(chartPanel); this.validate(); }
From source file:org.sonar.server.charts.jruby.TrendsChart.java
public void initSerie(Long serieId, String legend, boolean isPercent) { TimeSeries series = new TimeSeries(legend); int index = seriesById.size(); seriesById.put(serieId, series);//from ww w .j a v a 2 s. c o m TimeSeriesCollection timeSeriesColl = new TimeSeriesCollection(); timeSeriesColl.addSeries(series); plot.setDataset(index, timeSeriesColl); if (isPercent) { if (percentAxisId == -1) { NumberAxis rangeAxis = new NumberAxis(); rangeAxis.setNumberFormatOverride(new DecimalFormat("0'%'")); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); rangeAxis.setUpperBound(100.0); rangeAxis.setLowerBound(0.0); plot.setRangeAxisLocation(index, AxisLocation.TOP_OR_LEFT); plot.setRangeAxis(index, rangeAxis); plot.mapDatasetToRangeAxis(index, index); percentAxisId = index; } else { plot.mapDatasetToRangeAxis(index, percentAxisId); } } else { NumberAxis rangeAxis = new NumberAxis(displayLegend ? legend : null); rangeAxis.setAutoRangeIncludesZero(false); rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); rangeAxis.setAutoRangeMinimumSize(2.0); plot.setRangeAxisLocation(index, AxisLocation.TOP_OR_RIGHT); plot.setRangeAxis(index, rangeAxis); plot.mapDatasetToRangeAxis(index, index); } XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); renderer.setBaseShapesVisible(false); renderer.setSeriesStroke(0, new BasicStroke(2.0f)); renderer.setSeriesPaint(0, COLORS[index % COLORS.length]); plot.setRenderer(index, renderer); }
From source file:com.android.ddmuilib.net.NetworkPanel.java
/** * Create chart of recent network activity. *//*from w w w . j av a 2s. co m*/ private void createChart() { mChart = ChartFactory.createTimeSeriesChart(null, null, null, null, false, false, false); // create backing datasets and series mRxTotalSeries = new TimeSeries("RX total"); mTxTotalSeries = new TimeSeries("TX total"); mRxTotalSeries.setMaximumItemAge(HISTORY_MILLIS); mTxTotalSeries.setMaximumItemAge(HISTORY_MILLIS); mTotalCollection = new TimeSeriesCollection(); mTotalCollection.addSeries(mRxTotalSeries); mTotalCollection.addSeries(mTxTotalSeries); mRxDetailDataset = new LiveTimeTableXYDataset(); mTxDetailDataset = new LiveTimeTableXYDataset(); mTotalRenderer = new XYAreaRenderer(XYAreaRenderer.AREA); mRenderer = new StackedXYAreaRenderer2(); final XYPlot xyPlot = mChart.getXYPlot(); xyPlot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD); xyPlot.setDataset(0, mTotalCollection); xyPlot.setDataset(1, mRxDetailDataset); xyPlot.setDataset(2, mTxDetailDataset); xyPlot.setRenderer(0, mTotalRenderer); xyPlot.setRenderer(1, mRenderer); xyPlot.setRenderer(2, mRenderer); // we control domain axis manually when taking samples mDomainAxis = xyPlot.getDomainAxis(); mDomainAxis.setAutoRange(false); final NumberAxis axis = new NumberAxis(); axis.setNumberFormatOverride(new BytesFormat(true)); axis.setAutoRangeMinimumSize(50); xyPlot.setRangeAxis(axis); xyPlot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT); // draw thick line to separate RX versus TX traffic xyPlot.addRangeMarker(new ValueMarker(0, java.awt.Color.BLACK, new java.awt.BasicStroke(2))); // label to indicate that positive axis is RX traffic final ValueMarker rxMarker = new ValueMarker(0); rxMarker.setStroke(new java.awt.BasicStroke(0)); rxMarker.setLabel("RX"); rxMarker.setLabelFont(rxMarker.getLabelFont().deriveFont(30f)); rxMarker.setLabelPaint(java.awt.Color.LIGHT_GRAY); rxMarker.setLabelAnchor(RectangleAnchor.TOP_RIGHT); rxMarker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT); xyPlot.addRangeMarker(rxMarker); // label to indicate that negative axis is TX traffic final ValueMarker txMarker = new ValueMarker(0); txMarker.setStroke(new java.awt.BasicStroke(0)); txMarker.setLabel("TX"); txMarker.setLabelFont(txMarker.getLabelFont().deriveFont(30f)); txMarker.setLabelPaint(java.awt.Color.LIGHT_GRAY); txMarker.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT); txMarker.setLabelTextAnchor(TextAnchor.TOP_RIGHT); xyPlot.addRangeMarker(txMarker); mChartComposite = new ChartComposite(mPanel, SWT.BORDER, mChart, ChartComposite.DEFAULT_WIDTH, ChartComposite.DEFAULT_HEIGHT, ChartComposite.DEFAULT_MINIMUM_DRAW_WIDTH, ChartComposite.DEFAULT_MINIMUM_DRAW_HEIGHT, 4096, 4096, true, true, true, true, false, true); final FormData data = new FormData(); data.top = new FormAttachment(mHeader); data.left = new FormAttachment(0); data.bottom = new FormAttachment(70); data.right = new FormAttachment(100); mChartComposite.setLayoutData(data); }