Example usage for org.jfree.chart.axis ValueAxis setRange

List of usage examples for org.jfree.chart.axis ValueAxis setRange

Introduction

In this page you can find the example usage for org.jfree.chart.axis ValueAxis setRange.

Prototype

public void setRange(double lower, double upper) 

Source Link

Document

Sets the range for the axis and sends a change event to all registered listeners.

Usage

From source file:org.kineticsystem.commons.data.demo.panels.AggregationChartPane.java

/**
 * Constructor./*from w  w  w.  j a va 2 s.c  om*/
 * @param source This is the source list being modified ate the same time
 *     by many threads.
 */
public AggregationChartPane(ActiveList<RandomContact> source) {

    // Define aggregators.

    GroupAggregator[] aggregators = new GroupAggregator[] { new ContactsPerContinentAggr(),
            new AvgAgePerContinentAggr(), new MaxAgePerContinentAggr(), new MinAgePerContinentAggr() };

    // Aggregator selector.

    DefaultComboBoxModel groupComboModel = new DefaultComboBoxModel(aggregators);
    final JComboBox groupCombo = new JComboBox(groupComboModel);
    groupCombo.setSelectedIndex(1);
    groupCombo.setToolTipText("Select an aggregation function.");

    // Create the dataset.

    dataset = new DefaultCategoryDataset();
    List<Country> countries = RandomContactGenerator.getCountries();
    Set<String> continents = new TreeSet<String>();

    for (Country country : countries) {
        continents.add(country.getContinent());
    }

    for (String continent : continents) {
        dataset.setValue(0, continent, "");
    }

    // Define the aggregated list.

    groups = new GroupMapping<RandomContact>(source);
    groups.setAggregator(aggregators[0]);
    groups.getTarget().addActiveListListener(this);

    // Create the chart.

    JFreeChart chart = ChartFactory.createBarChart("", "Continent", groups.getAggregator().toString(), dataset,
            PlotOrientation.VERTICAL, true, // legend?
            true, // tooltips?
            false // URLs?
    );
    final ValueAxis axis = chart.getCategoryPlot().getRangeAxis();
    axis.setAutoRange(true);
    axis.setRange(0, 250);

    ChartPanel chartPanel = new ChartPanel(chart);

    // Create the selector.

    ActionListener groupComboListener = new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            JComboBox cb = (JComboBox) e.getSource();
            GroupAggregator aggr = (GroupAggregator) cb.getSelectedItem();
            groups.setAggregator(aggr);
            axis.setLabel(aggr.toString());
        }
    };
    groupCombo.addActionListener(groupComboListener);

    // Layout the GUI.

    Cell cell = new Cell();

    TetrisLayout groupTableLayout = new TetrisLayout(2, 1);
    groupTableLayout.setRowWeight(0, 0);
    groupTableLayout.setRowWeight(1, 100);

    setLayout(groupTableLayout);
    add(groupCombo, cell);
    add(chartPanel, cell);
}

From source file:org.squale.squaleweb.util.graph.RepartitionBarMaker.java

/**
 * @return le diagramme JFreeChart//from  w  ww  .j a  va 2 s.  c om
 */
public JFreeChart getChart() {
    JFreeChart retChart = super.getChart();
    if (null == retChart) {
        retChart = ChartFactory.createStackedBarChart(mTitle, mXLabel, mYLabel, mDataSet,
                PlotOrientation.HORIZONTAL, true, false, true);
        CategoryPlot plot = retChart.getCategoryPlot();
        ValueAxis xAxis = plot.getRangeAxis();
        final double LOWER_BOUND = 0;
        final double UPPER_BOUND = 100;
        xAxis.setRange(LOWER_BOUND, UPPER_BOUND);
        plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);
        mRenderer = (StackedBarRenderer) plot.getRenderer();
        // Positionne les couleurs el les liens
        RepartitionBarUrlGenerator generator = new RepartitionBarUrlGenerator(mProjectId, mCurrentAuditId,
                mPreviousAuditId, mPracticeId, mFactorParentId, NB_SERIES_FOR_INT_GRAPH);
        mRenderer.setItemURLGenerator(generator);

        manageColor(NB_SERIES_FOR_INT_GRAPH);
        retChart.setBackgroundPaint(Color.WHITE);
    }
    return retChart;
}

From source file:org.easyrec.controller.StatisticsController.java

@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
        throws Exception {

    if (Security.isSignedIn(request)) {

        int tenant;
        int month;
        int year;
        boolean flot;

        String actionType = request.getParameter("actionType");
        try {/*from ww w  . ja  v  a 2s  .  c  o  m*/
            tenant = Integer.parseInt(request.getParameter("tenant"));
            month = Integer.parseInt(request.getParameter("month"));
            year = Integer.parseInt(request.getParameter("year"));
            flot = Integer.parseInt(request.getParameter("flot")) != 0;
        } catch (Exception e) {
            logger.warn(e);
            return null;
        }

        ModelAndView mav = new ModelAndView();
        XYSeriesCollection dataset = new XYSeriesCollection();
        FlotDataSet flotDataSet = new FlotDataSet();

        Calendar from = Calendar.getInstance();
        Calendar to = Calendar.getInstance();

        from.set(year, month, Calendar.getInstance().getActualMinimum(Calendar.DAY_OF_MONTH), 0, 0, 0);
        to.set(year, month, from.getActualMaximum(Calendar.DAY_OF_MONTH), 23, 59, 59);

        Integer actionTypeId = null;
        Integer assocTypeId = null;

        if (!Strings.isNullOrEmpty(actionType)) {
            if ("CLICKS_ON_RECS".equals(actionType))
                assocTypeId = 1001;
            else if ("CLICKS_ON_CHARTS".equals(actionType))
                assocTypeId = 998;
            else
                actionTypeId = typeMappingService.getIdOfActionType(tenant, actionType);
        }

        HashMap<Integer, HashMap<Integer, Integer>> actionBundleMap = statisticsDAO.getActionBundleMap(tenant,
                from.getTimeInMillis(), to.getTimeInMillis(), actionTypeId, assocTypeId);

        Iterator<Integer> iterator = actionBundleMap.keySet().iterator();

        while (iterator.hasNext()) {
            actionTypeId = iterator.next();
            if (actionTypeId == 1001)
                actionType = "clicks on recommendations";
            else if (actionTypeId == 998)
                actionType = "clicks on rankings";
            else
                actionType = typeMappingService.getActionTypeById(tenant, actionTypeId).toLowerCase()
                        + " actions";

            XYSeries xySeries = new XYSeries(actionType);
            FlotSeries flotSeries = new FlotSeries();
            flotSeries.setTitle(actionType);

            for (int i = 1; i <= 31; i++) {
                Integer y = actionBundleMap.get(actionTypeId).get(i);
                xySeries.add(i, y != null ? y : 0);
                flotSeries.add(i, y != null ? y : 0);
            }
            //mav.addObject("data",flotDataSet.toString());

            dataset.addSeries(xySeries);
            flotDataSet.add(flotSeries);
        }

        // create datapoints that are rendered in the clients browser
        // return array or html side that renders array
        if (flot) {
            boolean onlyData = (ServletUtils.getSafeParameter(request, "onlyData", 0) != 0);
            if (onlyData) {
                mav.setViewName("flot/dataOutput");
            } else {
                mav.setViewName("flot/flotPlot");
            }
            mav.addObject("data", flotDataSet.toString());
            mav.addObject("flotDataSet", flotDataSet.getData());
            mav.addObject("noActions", flotDataSet.getData().isEmpty());
            return mav;

            // create a png
        } else {
            JFreeChart action_chart = ChartFactory.createXYLineChart("", "actions", "days", dataset,
                    PlotOrientation.VERTICAL, true, // show legend
                    true, // show tooltips
                    false); // show urls

            XYPlot plot = action_chart.getXYPlot();

            ValueAxis axis = plot.getDomainAxis();
            axis.setRange(1, 31);
            plot.setDomainAxis(axis);

            BufferedImage bi = action_chart.createBufferedImage(300, 200);

            byte[] bytes = ChartUtilities.encodeAsPNG(bi);

            if (bytes != null & !flot) {
                OutputStream os = response.getOutputStream();
                response.setContentType("image/png");
                response.setContentLength(bytes.length);
                os.write(bytes);
                os.close();
            }
        }
        return null;

    } else {
        return Security.redirectHome(request, response);
    }

}

From source file:arduinouno.TimeChartGenerator.java

/**
 * Creates a sample chart.//www  .  j av  a2 s.  c o  m
 *
 * @param dataset the dataset.
 *
 * @return A sample chart.
 */
private JFreeChart createChart(final XYDataset dataset, final XYDataset dataset0, final XYDataset dataset1,
        final XYDataset dataset2, final XYDataset dataset3, final XYDataset dataset4,
        final XYDataset dataset5) {
    final JFreeChart result = ChartFactory.createTimeSeriesChart("Arduino Serial Reader", "Time", "Value",
            dataset, true, true, false);

    plot = result.getXYPlot();

    //Set Graph Parameters
    plot.setBackgroundPaint(new Color(0xffffe0));
    plot.setDomainGridlinesVisible(true);
    plot.setDomainGridlinePaint(Color.lightGray);
    plot.setRangeGridlinesVisible(true);
    plot.setRangeGridlinePaint(Color.lightGray);

    ValueAxis xaxis = plot.getDomainAxis();
    xaxis.setAutoRange(true);
    xaxis.setTickLabelsVisible(false);

    //Domain axis would show data of 30 seconds for a time
    xaxis.setFixedAutoRange(30000.0); // 30 seconds

    xaxis.setVerticalTickLabels(false);

    ValueAxis yaxis = plot.getRangeAxis();
    yaxis.setRange(0.0, 6.0);

    if (dataset0 != null) {
        plot.setDataset(1, dataset0);
        plot.setRenderer(1, new StandardXYItemRenderer());
    }
    if (dataset1 != null) {
        plot.setDataset(2, dataset1);
        plot.setRenderer(2, new StandardXYItemRenderer());
    }
    if (dataset2 != null) {
        plot.setDataset(3, dataset2);
        plot.setRenderer(3, new StandardXYItemRenderer());
    }
    if (dataset3 != null) {
        plot.setDataset(4, dataset3);
        plot.setRenderer(4, new StandardXYItemRenderer());
    }
    if (dataset4 != null) {
        plot.setDataset(5, dataset4);
        plot.setRenderer(5, new StandardXYItemRenderer());
    }
    if (dataset5 != null) {
        plot.setDataset(6, dataset5);
        plot.setRenderer(6, new StandardXYItemRenderer());
    }

    return result;
}

From source file:org.jreserve.dummy.plot.charts.AbstractChart.java

private void formatAxis(ValueAxis axis, double min, double max) {
    double range = max - min;
    max = max + MARGIN * range;/*from   ww  w. j  a  v a2s .  co m*/
    min = min - MARGIN * range;
    if (min == max) {
        min -= 1;
        max += 1;
    }
    axis.setRange(min, max);
}

From source file:D1WaveletTransform.java

@Test
public void test() throws InterruptedException, JWaveException {
    CategoryTableXYDataset serie = new CategoryTableXYDataset();
    serie.setNotify(false);// w  w w.j a  v a  2  s .c o  m
    double step = 1.0 / discretization;
    double startPosition = step * framePosition;
    //100 ? - 100 , 50 ? - 50 , 25 ?- 25 
    WaveletTransform t = new FastWaveletTransform((new Haar1()));
    double[] data = t.forward(testData.get1DSimpleSignal(1, 3, frameWidth, discretization), 128);
    //        double[] data = math.convolve(testData.get1DSignal(100, 200, frameWidth, discretization), math.lpf(70, step, 128));

    //        double[] data = math.convolve(testData.get1DSignal(100, 200, 32768, 10000), math.lpf(70, 1./10000, 32));
    //        double[] data = testData.get1DSignal(100, 200, frameWidth, discretization);
    //        double[] data = math.lpf(70, step,128);
    for (int i = 0; i < data.length; i++) {
        serie.add(startPosition, data[i], "");
        startPosition += step;
    }
    JFreeChart chart = ChartFactory.createXYLineChart("", "t,c", "wave", serie);
    chart.removeLegend();
    chart.setAntiAlias(false);

    XYPlot plot = chart.getXYPlot();
    //plot.setRangeGridlinePaint(Color.BLACK);
    org.jfree.chart.axis.ValueAxis yAxis = plot.getRangeAxis();
    org.jfree.chart.axis.ValueAxis xAxis = plot.getDomainAxis();
    double start = framePosition * 1.0 / discretization;
    double max = start + frameWidth * 1.0 / discretization;
    xAxis.setRange(start, max);
    ChartPanel chartPanel = new ChartPanel(chart);

    JPanel p = new JPanel(new BorderLayout());

    p.removeAll();
    p.add(chartPanel);
    p.validate();
    //1. Create the frame.
    JFrame frame = new JFrame("FrameDemo");

    //2. Optional: What happens when the frame closes?
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //3. Create components and put them in the frame.
    //...create emptyLabel...
    frame.getContentPane().add(new Label("olol"), BorderLayout.CENTER);
    frame.getContentPane().add(p, BorderLayout.CENTER);

    //4. Size the frame.
    frame.pack();

    //5. Show it.
    frame.setVisible(true);
}

From source file:Views.GraphView.java

private JFreeChart createChart(final XYDataset dataset) {
    final JFreeChart result = ChartFactory.createTimeSeriesChart(graphTitle, "Time", "Price", dataset, true,
            true, false);/*www . java2 s. c o  m*/

    plot = result.getXYPlot();

    plot.setBackgroundPaint(new Color(0xffffe0));
    plot.setDomainGridlinesVisible(true);
    plot.setDomainGridlinePaint(Color.lightGray);
    plot.setRangeGridlinesVisible(true);
    plot.setRangeGridlinePaint(Color.lightGray);

    ValueAxis xaxis = plot.getDomainAxis();
    xaxis.setAutoRange(true);
    xaxis.setVisible(false);

    xaxis.setFixedAutoRange(16000.0); // 60 seconds
    xaxis.setVerticalTickLabels(true);

    ValueAxis yaxis = plot.getRangeAxis();
    yaxis.setRange(0, 100.0);

    xaxis2 = new NumberAxis("Volume");

    plot.setDataset(1, dataset2);

    plot.setRangeAxis(1, xaxis2);
    plot.mapDatasetToRangeAxis(1, 1);

    XYBarRenderer renderer2 = new XYBarRenderer(0.20);
    renderer2.setToolTipGenerator(
            new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT,
                    new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0,000.00")));
    renderer2.setToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance());

    plot.setRenderer(1, renderer2);

    plot.setDataset(2, dataset3);

    plot.mapDatasetToRangeAxis(2, 0);

    XYErrorRenderer renderer3 = new XYErrorRenderer();
    plot.setRenderer(2, renderer3);

    plot.setDataset(3, dataset4);
    plot.mapDatasetToRangeAxis(3, 1);
    XYBarRenderer renderer4 = new XYBarRenderer(0.20);

    plot.setRenderer(3, renderer4);

    return result;
}

From source file:c.depthchart.ViewerPanel.java

private void initChart()
// create the dataset, chart, panel, and window
{
    // create an empty data set
    series = new XYSeries("Depth Counts Histogram");
    for (int i = 0; i <= CHART_MAX_DEPTH; i++)
        series.add(i, 0); // depth with a zero count
    XYSeriesCollection dataset = new XYSeriesCollection(series);

    // put the data into a chart
    JFreeChart chart = ChartFactory.createXYBarChart("Depth Histogram", "Depth (mm)", false, "Depth Count",
            dataset, PlotOrientation.VERTICAL, false, true, false); // legend, tooltips, urls

    // modify the chart axes
    XYPlot plot = (XYPlot) chart.getPlot();

    NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis(); // x-axis
    domainAxis.setVerticalTickLabels(true);
    domainAxis.setRange(0, CHART_MAX_DEPTH);
    domainAxis.setTickUnit(new NumberTickUnit(100));

    ValueAxis rangeAxis = plot.getRangeAxis(); // y-axis
    rangeAxis.setRange(0, 15000); // a bit of a guess

    // add the chart to a panel
    ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new Dimension(1000, 500));

    // add the panel to a window
    JFrame chartFrame = new JFrame("Depth Histogram");
    chartFrame.setContentPane(chartPanel);
    chartFrame.pack();//from   ww  w.j ava 2s  . c o  m
    chartFrame.setVisible(true);
}

From source file:playground.dgrether.analysis.charts.DgMixedDeltaUtilsModeGroupChart.java

public JFreeChart createChart() {
    XYPlot plot = new XYPlot();
    ValueAxis xAxis = this.axisBuilder.createValueAxis("% of Population Sorted by Income");
    ValueAxis yAxis = this.axisBuilder.createValueAxis("Delta Utils [Utils]");
    plot.setDomainAxis(xAxis);// w  ww .  ja  va  2s .c om
    plot.setRangeAxis(yAxis);
    //RANGE
    xAxis.setRange(0.0, 102.0);
    yAxis.setRange(-0.31, 0.61);

    DgColorScheme colorScheme = new DgColorScheme();

    XYItemRenderer renderer1 = new XYLineAndShapeRenderer(false, true);
    renderer1.setSeriesPaint(0, colorScheme.COLOR1B);
    renderer1.setSeriesPaint(1, colorScheme.COLOR2B);
    renderer1.setSeriesPaint(2, colorScheme.COLOR3B);
    renderer1.setSeriesPaint(3, colorScheme.COLOR4B);
    plot.setDataset(0, this.inomeModeChoiceDs);
    plot.setRenderer(0, renderer1);

    XYItemRenderer renderer2;
    renderer2 = new XYLineAndShapeRenderer(true, true);
    plot.setDataset(1, this.avgDeltaScoreIncomeDs);
    for (int i = 0; i <= 3; i++) {
        renderer2.setSeriesStroke(i, new BasicStroke(2.0f));
        renderer2.setSeriesOutlineStroke(i, new BasicStroke(3.0f));
        renderer2.setSeriesPaint(i, colorScheme.getColor(i + 1, "a"));
    }
    plot.setRenderer(1, renderer2);
    JFreeChart chart = new JFreeChart("", plot);
    chart.setBackgroundPaint(ChartColor.WHITE);
    chart.getLegend().setItemFont(this.axisBuilder.getAxisFont());
    chart.setTextAntiAlias(true);
    return chart;
}

From source file:com.xilinx.kintex7.DMATrendChart.java

public void makeChart() {
    series1 = new TimeSeries(seriesLabels[0]);
    series2 = new TimeSeries(seriesLabels[1]);
    series3 = new TimeSeries(seriesLabels[2]);
    dataset = new TimeSeriesCollection();
    dataset.addSeries(series1);/*from  w  w w .  j  a va2  s  .  co  m*/
    dataset.addSeries(series2);
    dataset.addSeries(series3);
    chart = ChartFactory.createTimeSeriesChart(title, "Time", "Throughput(Gbps)", dataset, true, true, false);
    chart.setBackgroundPaint(bg);
    final XYPlot plot = chart.getXYPlot();
    ValueAxis axis = plot.getDomainAxis();
    axis.setAutoRange(true);
    axis.setFixedAutoRange(30000.0); // 60 seconds
    axis = plot.getRangeAxis();
    axis.setRange(0.0, 30.0);

    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(true, true);

    renderer.setBaseShapesVisible(true);
    renderer.setBaseShapesFilled(true);

    // set the renderer's stroke
    Stroke stroke = new BasicStroke(3f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL);
    renderer.setBaseOutlineStroke(stroke);

    //StandardXYToolTipGenerator tt = new StandardXYToolTipGenerator("{1}", null, null);
    //renderer.setSeriesToolTipGenerator(0, tt);
    // label the points
    NumberFormat format = NumberFormat.getNumberInstance();
    format.setMaximumFractionDigits(2);
    XYItemLabelGenerator generator = new StandardXYItemLabelGenerator(
            StandardXYItemLabelGenerator.DEFAULT_ITEM_LABEL_FORMAT, format, format);
    renderer.setBaseItemLabelGenerator(generator);
    renderer.setBaseItemLabelsVisible(true);

    plot.setRenderer(renderer);

    final XYPlot plot1 = chart.getXYPlot();
    ValueAxis axis1 = plot1.getDomainAxis();
    axis1.setAutoRange(true);
    axis1.setFixedAutoRange(30000.0); // 60 seconds
    axis1 = plot.getRangeAxis();
    axis1.setRange(0.0, 30.0);
    plot1.setRenderer(renderer);

    final XYPlot plot2 = chart.getXYPlot();
    ValueAxis axis2 = plot1.getDomainAxis();
    axis2.setAutoRange(true);
    axis2.setFixedAutoRange(30000.0); // 60 seconds
    axis2 = plot.getRangeAxis();
    axis2.setRange(0.0, 30.0);
    plot2.setRenderer(renderer);
}