Example usage for org.jfree.data Range Range

List of usage examples for org.jfree.data Range Range

Introduction

In this page you can find the example usage for org.jfree.data Range Range.

Prototype

public Range(double lower, double upper) 

Source Link

Document

Creates a new range.

Usage

From source file:net.sf.mzmine.chartbasics.ChartLogicsFX.java

/**
 * Zoom in (negative yzoom) or zoom out of range axis.
 * //from   ww w  .j  a  v  a  2 s  .  c  o m
 * @param myChart
 * @param yzoom percentage zoom factor
 * @param holdLowerBound if true only the upper bound will be zoomed
 */
public static void zoomRangeAxis(ChartViewer myChart, double yzoom, boolean holdLowerBound) {
    XYPlot plot = (XYPlot) myChart.getChart().getPlot();
    ValueAxis rangeAxis = plot.getRangeAxis();

    double lower = rangeAxis.getLowerBound();
    double upper = rangeAxis.getUpperBound();
    double dist = upper - lower;

    if (holdLowerBound) {
        upper += dist * yzoom;
    } else {
        lower -= dist * yzoom / 2;
        upper += dist * yzoom / 2;
    }

    if (lower < upper) {
        Range range = new Range(lower, upper);
        setZoomAxis(rangeAxis, keepRangeWithinAutoBounds(rangeAxis, range));
    }
}

From source file:asl.util.PlotMaker.java

public void plotSpecAmp(double freq[], double[] amp, double[] phase, String plotString) {

    // plotTitle = "2012074.IU_ANMO.00-BHZ " + plotString
    final String plotTitle = String.format("%04d%03d.%s.%s %s", date.get(Calendar.YEAR),
            date.get(Calendar.DAY_OF_YEAR), station, channel, plotString);
    // plot filename = "2012074.IU_ANMO.00-BHZ" + plotString + ".png"
    final String pngName = String.format("%s/%04d%03d.%s.%s.%s.png", outputDir, date.get(Calendar.YEAR),
            date.get(Calendar.DAY_OF_YEAR), station, channel, plotString);

    File outputFile = new File(pngName);

    // Check that we will be able to output the file without problems and if not --> return
    if (!checkFileOut(outputFile)) {
        System.out.format("== plotSpecAmp: request to output plot=[%s] but we are unable to create it "
                + " --> skip plot\n", pngName);
        return;//from  ww w  .jav  a  2s .  c  o m
    }

    final XYSeries series1 = new XYSeries("Amplitude");
    final XYSeries series2 = new XYSeries("Phase");

    double maxdB = 0.;
    for (int k = 0; k < freq.length; k++) {
        double dB = 20. * Math.log10(amp[k]);
        series1.add(freq[k], dB);
        series2.add(freq[k], phase[k]);
        if (dB > maxdB) {
            maxdB = dB;
        }
    }

    //final XYItemRenderer renderer = new StandardXYItemRenderer();
    final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    Rectangle rectangle = new Rectangle(3, 3);
    renderer.setSeriesShape(0, rectangle);
    //renderer.setSeriesShapesVisible(0, true);
    renderer.setSeriesShapesVisible(0, false);
    renderer.setSeriesLinesVisible(0, true);

    renderer.setSeriesShape(1, rectangle);
    renderer.setSeriesShapesVisible(1, true);
    renderer.setSeriesLinesVisible(1, false);

    Paint[] paints = new Paint[] { Color.red, Color.blue };
    renderer.setSeriesPaint(0, paints[0]);
    //renderer.setSeriesPaint(1, paints[1]);

    final XYLineAndShapeRenderer renderer2 = new XYLineAndShapeRenderer();
    renderer2.setSeriesPaint(0, paints[1]);
    renderer2.setSeriesShapesVisible(0, false);
    renderer2.setSeriesLinesVisible(0, true);

    // Stroke is part of Java Swing ...
    //renderer2.setBaseStroke( new Stroke( ... ) );

    double ymax;
    if (maxdB < 10) {
        ymax = 10.;
    } else {
        ymax = maxdB + 2;
        ;
    }

    final NumberAxis verticalAxis = new NumberAxis("Spec Amp (dB)");
    verticalAxis.setRange(new Range(-40, ymax));
    verticalAxis.setTickUnit(new NumberTickUnit(5));

    //final LogarithmicAxis verticalAxis = new LogarithmicAxis("Amplitude Response");
    //verticalAxis.setRange( new Range(0.01 , 10) );

    final LogarithmicAxis horizontalAxis = new LogarithmicAxis("Frequency (Hz)");
    //horizontalAxis.setRange( new Range(0.0001 , 100.5) );
    horizontalAxis.setRange(new Range(0.00009, 110));

    final XYSeriesCollection seriesCollection = new XYSeriesCollection();
    seriesCollection.addSeries(series1);

    final XYPlot xyplot = new XYPlot((XYDataset) seriesCollection, null, verticalAxis, renderer);
    //final XYPlot xyplot = new XYPlot((XYDataset)seriesCollection, horizontalAxis, verticalAxis, renderer);

    xyplot.setDomainGridlinesVisible(true);
    xyplot.setRangeGridlinesVisible(true);
    xyplot.setRangeGridlinePaint(Color.black);
    xyplot.setDomainGridlinePaint(Color.black);

    final NumberAxis phaseAxis = new NumberAxis("Phase (Deg)");
    phaseAxis.setRange(new Range(-180, 180));
    phaseAxis.setTickUnit(new NumberTickUnit(30));
    final XYSeriesCollection seriesCollection2 = new XYSeriesCollection();
    seriesCollection2.addSeries(series2);
    final XYPlot xyplot2 = new XYPlot((XYDataset) seriesCollection2, null, phaseAxis, renderer2);

    //CombinedXYPlot combinedPlot = new CombinedXYPlot( horizontalAxis, CombinedXYPlot.VERTICAL );
    CombinedDomainXYPlot combinedPlot = new CombinedDomainXYPlot(horizontalAxis);
    combinedPlot.add(xyplot, 1);
    combinedPlot.add(xyplot2, 1);
    combinedPlot.setGap(15.);

    //final JFreeChart chart = new JFreeChart(xyplot);
    final JFreeChart chart = new JFreeChart(combinedPlot);
    chart.setTitle(new TextTitle(plotTitle));

    // Here we need to see if test dir exists and create it if necessary ...
    try {
        //ChartUtilities.saveChartAsJPEG(new File("chart.jpg"), chart, 500, 300);
        //ChartUtilities.saveChartAsPNG(outputFile, chart, 500, 300);
        ChartUtilities.saveChartAsPNG(outputFile, chart, 1000, 800);
    } catch (IOException e) {
        System.err.println("Problem occurred creating chart.");

    }
}

From source file:org.jfree.data.time.TimeSeriesCollection.java

/**
 * Returns the bounds for the y-values in the dataset.
 * /*from w w  w  .jav  a 2 s  . c  om*/
 * @param includeInterval  ignored for this dataset.
 * 
 * @return The range of value in the dataset (possibly <code>null</code>).
 *
 * @since 1.0.15
 */
public Range getRangeBounds(boolean includeInterval) {
    Range result = null;
    Iterator iterator = this.data.iterator();
    while (iterator.hasNext()) {
        TimeSeries series = (TimeSeries) iterator.next();
        Range r = new Range(series.getMinY(), series.getMaxY());
        result = Range.combineIgnoringNaN(result, r);
    }
    return result;
}

From source file:logdruid.ui.chart.GraphPanel.java

public void load(JPanel panel_2) {
    startDateJSpinner = (JSpinner) panel_2.getComponent(2);
    endDateJSPinner = (JSpinner) panel_2.getComponent(3);
    // scrollPane.setV
    panel.removeAll();/* w w w.  ja  v a2s  .  c om*/
    Dimension panelSize = this.getSize();
    add(scrollPane, BorderLayout.CENTER);
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
    // scrollPane.set trying to replace scroll where it was
    JCheckBox relativeCheckBox = (JCheckBox) panel_2.getComponent(5);
    estimatedTime = System.currentTimeMillis() - startTime;
    logger.info("gathering time: " + estimatedTime);
    startTime = System.currentTimeMillis();
    //   Map<Source, Map<String, MineResult>>
    Map<Source, Map<String, MineResult>> treeMap = new TreeMap<Source, Map<String, MineResult>>(
            mineResultSet.mineResults);
    Iterator mineResultSetIterator = treeMap.entrySet().iterator();
    int ite = 0;
    logger.debug("mineResultSet size: " + mineResultSet.mineResults.size());
    while (mineResultSetIterator.hasNext()) {
        final Map.Entry pairs = (Map.Entry) mineResultSetIterator.next();
        logger.debug("mineResultSet key/source: " + ((Source) pairs.getKey()).getSourceName());
        JCheckBox checkBox = (JCheckBox) panel_1.getComponent(ite++);
        logger.debug("checkbox: " + checkBox.getText() + ", " + checkBox.isSelected());
        if (checkBox.isSelected()) {

            Map mrArrayList = (Map<String, MineResult>) pairs.getValue();
            ArrayList<String> mineResultGroup = new ArrayList<String>();
            Set<String> mrss = mrArrayList.keySet();

            mineResultGroup.addAll(mrss);
            Collections.sort(mineResultGroup, new AlphanumComparator());
            Iterator mrArrayListIterator = mineResultGroup.iterator();
            while (mrArrayListIterator.hasNext()) {

                String key = (String) mrArrayListIterator.next();
                logger.debug(key);
                final MineResult mr = (MineResult) mrArrayList.get(key);
                Map<String, ExtendedTimeSeries> statMap = mr.getStatTimeseriesMap();
                Map<String, ExtendedTimeSeries> eventMap = mr.getEventTimeseriesMap();
                // logger.info("mineResultSet hash size: "
                // +mr.getTimeseriesMap().size());
                // logger.info("mineResultSet hash content: " +
                // mr.getStatTimeseriesMap());
                logger.debug("mineResultSet mr.getStartDate(): " + mr.getStartDate()
                        + " mineResultSet mr.getEndDate(): " + mr.getEndDate());
                logger.debug("mineResultSet (Date)jsp.getValue(): " + (Date) startDateJSpinner.getValue());
                logger.debug("mineResultSet (Date)jsp2.getValue(): " + (Date) endDateJSPinner.getValue());
                if (mr.getStartDate() != null && mr.getEndDate() != null) {
                    if ((mr.getStartDate().before((Date) endDateJSPinner.getValue()))
                            && (mr.getEndDate().after((Date) startDateJSpinner.getValue()))) {

                        ArrayList<String> mineResultGroup2 = new ArrayList<String>();
                        Set<String> mrss2 = statMap.keySet();
                        mineResultGroup2.addAll(mrss2);
                        Collections.sort(mineResultGroup2, new AlphanumComparator());
                        Iterator statMapIterator = mineResultGroup2.iterator();

                        //            Iterator statMapIterator = statMap.entrySet().iterator();
                        if (!statMap.entrySet().isEmpty() || !eventMap.entrySet().isEmpty()) {
                            JPanel checkboxPanel = new JPanel(new WrapLayout());

                            checkboxPanel.setBackground(Color.white);

                            int count = 1;
                            chart = ChartFactory.createXYAreaChart(// Title
                                    mr.getSourceID() + " " + mr.getGroup(), // +
                                    null, // X-Axis
                                    // label
                                    null, // Y-Axis label
                                    null, // Dataset
                                    PlotOrientation.VERTICAL, false, // Show
                                    // legend
                                    true, // tooltips
                                    false // url
                            );
                            TextTitle my_Chart_title = new TextTitle(mr.getSourceID() + " " + mr.getGroup(),
                                    new Font("Verdana", Font.BOLD, 17));
                            chart.setTitle(my_Chart_title);
                            XYPlot plot = (XYPlot) chart.getPlot();
                            ValueAxis range = plot.getRangeAxis();
                            range.setVisible(false);

                            final DateAxis domainAxis1 = new DateAxis();
                            domainAxis1.setTickLabelsVisible(true);
                            // domainAxis1.setTickMarksVisible(true);

                            logger.debug("getRange: " + domainAxis1.getRange());
                            if (relativeCheckBox.isSelected()) {
                                domainAxis1.setRange((Date) startDateJSpinner.getValue(),
                                        (Date) endDateJSPinner.getValue());
                            } else {
                                Date startDate = mr.getStartDate();
                                Date endDate = mr.getEndDate();
                                if (mr.getStartDate().before((Date) startDateJSpinner.getValue())) {
                                    startDate = (Date) startDateJSpinner.getValue();
                                    logger.debug("setMinimumDate: " + (Date) startDateJSpinner.getValue());
                                }
                                if (mr.getEndDate().after((Date) endDateJSPinner.getValue())) {
                                    endDate = (Date) endDateJSPinner.getValue();
                                    logger.debug("setMaximumDate: " + (Date) endDateJSPinner.getValue());
                                }
                                if (startDate.before(endDate)) {
                                    domainAxis1.setRange(startDate, endDate);
                                }
                            }
                            XYToolTipGenerator tt1 = new XYToolTipGenerator() {
                                public String generateToolTip(XYDataset dataset, int series, int item) {
                                    StringBuffer sb = new StringBuffer();
                                    String htmlStr = "<html>";
                                    Number x;
                                    FastDateFormat sdf = FastDateFormat.getInstance("dd-MMM-yyyy HH:mm:ss");
                                    x = dataset.getX(series, item);
                                    sb.append(htmlStr);
                                    if (x != null) {
                                        sb.append("<p style='color:#000000;'>" + (sdf.format(x)) + "</p>");
                                        sb.append("<p style='color:#000000;'>"
                                                + dataset.getSeriesKey(series).toString() + ": "
                                                + form.format(dataset.getYValue(0, item)) + "</p>");
                                        if (mr.getFileLineForDate(new Date(x.longValue()),
                                                dataset.getSeriesKey(series).toString()) != null) {
                                            sb.append(
                                                    "<p style='color:#0000FF;'>"
                                                            + cd.sourceFileArrayListMap
                                                                    .get(pairs.getKey()).get(mr
                                                                            .getFileLineForDate(
                                                                                    new Date(x.longValue()),
                                                                                    dataset.getSeriesKey(series)
                                                                                            .toString())
                                                                            .getFileId())
                                                                    .getFile().getName()
                                                            + ":"
                                                            + mr.getFileLineForDate(new Date(x.longValue()),
                                                                    dataset.getSeriesKey(series).toString())
                                                                    .getLineNumber()
                                                            + "</p>");

                                        }
                                    }
                                    return sb.toString();
                                }
                            };

                            while (statMapIterator.hasNext()) {

                                TimeSeriesCollection dataset = new TimeSeriesCollection();
                                String me = (String) statMapIterator.next();

                                ExtendedTimeSeries ts = (ExtendedTimeSeries) statMap.get(me);
                                // logger.info(((TimeSeries)
                                // me.getValue()).getMaxY());
                                if (((ExtendedTimeSeries) statMap.get(me)).getTimeSeries().getMaxY() > 0)
                                    dataset.addSeries(ts.getTimeSeries());
                                logger.debug("mineResultSet group: " + mr.getGroup() + ", key: " + me
                                        + " nb records: " + ((ExtendedTimeSeries) statMap.get(me))
                                                .getTimeSeries().getItemCount());
                                logger.debug("(((TimeSeries) me.getValue()).getMaxY(): "
                                        + (((ExtendedTimeSeries) statMap.get(me)).getTimeSeries().getMaxY()));
                                logger.debug("(((TimeSeries) me.getValue()).getMinY(): "
                                        + (((ExtendedTimeSeries) statMap.get(me)).getTimeSeries().getMinY()));
                                XYPlot plot1 = chart.getXYPlot();
                                //   LogarithmicAxis axis4 = new LogarithmicAxis(me.toString());
                                NumberAxis axis4 = new NumberAxis(me.toString());
                                axis4.setAutoRange(true);
                                axis4.setAxisLineVisible(true);
                                axis4.setAutoRangeIncludesZero(false);
                                plot1.setDomainCrosshairVisible(true);
                                plot1.setRangeCrosshairVisible(true);
                                axis4.setRange(new Range(
                                        ((ExtendedTimeSeries) statMap.get(me)).getTimeSeries().getMinY(),
                                        ((ExtendedTimeSeries) statMap.get(me)).getTimeSeries().getMaxY()));
                                axis4.setLabelPaint(colors[count]);
                                axis4.setTickLabelPaint(colors[count]);
                                plot1.setRangeAxis(count, axis4);
                                final ValueAxis domainAxis = domainAxis1;
                                domainAxis.setLowerMargin(0.0);
                                domainAxis.setUpperMargin(0.0);
                                plot1.setDomainAxis(domainAxis);
                                plot1.setForegroundAlpha(0.5f);
                                plot1.setDataset(count, dataset);
                                plot1.mapDatasetToRangeAxis(count, count);
                                final XYAreaRenderer renderer = new XYAreaRenderer(); // XYAreaRenderer2
                                // also
                                // nice
                                if ((((ExtendedTimeSeries) statMap.get(me)).getTimeSeries().getMaxY()
                                        - ((ExtendedTimeSeries) statMap.get(me)).getTimeSeries()
                                                .getMinY()) > 0) {

                                    // renderer.setToolTipGenerator(new
                                    // StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT,new
                                    // FastDateFormat("d-MMM-yyyy HH:mm:ss"),
                                    // new DecimalFormat("#,##0.00")));
                                }
                                renderer.setSeriesPaint(0, colors[count]);
                                renderer.setSeriesVisible(0, true);
                                renderer.setSeriesToolTipGenerator(0, tt1);
                                plot1.setRenderer(count, renderer);
                                int hits = 0; // ts.getStat()[1]
                                int matchs = 0;
                                if (((ExtendedTimeSeries) statMap.get(me)).getStat() != null) {
                                    hits = ((ExtendedTimeSeries) statMap.get(me)).getStat()[1];
                                    //   matchs= ((ExtendedTimeSeries) statMap.get(me)).getStat()[0];
                                }
                                JCheckBox jcb = new JCheckBox(new VisibleAction(panel, checkboxPanel, axis4,
                                        me.toString() + "(" + hits + ")", 0));
                                Boolean selected = true;
                                jcb.setSelected(true);
                                jcb.setBackground(Color.white);
                                jcb.setBorderPainted(true);
                                jcb.setBorder(BorderFactory.createLineBorder(colors[count], 1, true));
                                jcb.setFont(new Font("Sans-serif", oldSmallFont.getStyle(),
                                        oldSmallFont.getSize()));
                                checkboxPanel.add(jcb);
                                count++;
                            }
                            Iterator eventMapIterator = eventMap.entrySet().iterator();
                            while (eventMapIterator.hasNext()) {

                                //   HistogramDataset histoDataSet=new HistogramDataset();

                                TimeSeriesCollection dataset = new TimeSeriesCollection();
                                Map.Entry me = (Map.Entry) eventMapIterator.next();
                                // if (dataset.getEndXValue(series, item))
                                if (((ExtendedTimeSeries) me.getValue()).getTimeSeries().getMaxY() > 0)
                                    dataset.addSeries(((ExtendedTimeSeries) me.getValue()).getTimeSeries());

                                logger.debug("mineResultSet group: " + mr.getGroup() + ", key: " + me.getKey()
                                        + " nb records: "
                                        + ((ExtendedTimeSeries) me.getValue()).getTimeSeries().getItemCount());
                                logger.debug("mineResultSet hash content: " + mr.getEventTimeseriesMap());
                                logger.debug("(((TimeSeries) me.getValue()).getMaxY(): "
                                        + (((ExtendedTimeSeries) me.getValue()).getTimeSeries().getMaxY()));
                                logger.debug("(((TimeSeries) me.getValue()).getMinY(): "
                                        + (((ExtendedTimeSeries) me.getValue()).getTimeSeries().getMinY()));
                                XYPlot plot2 = chart.getXYPlot();
                                //   LogarithmicAxis axis4 = new LogarithmicAxis(me.toString());
                                NumberAxis axis4 = new NumberAxis(me.getKey().toString());
                                axis4.setAutoRange(true);
                                // axis4.setInverted(true);
                                axis4.setAxisLineVisible(true);
                                axis4.setAutoRangeIncludesZero(true);

                                // axis4.setRange(new Range(((TimeSeries)
                                // axis4.setRange(new Range(((TimeSeries)
                                // me.getValue()).getMinY(), ((TimeSeries)
                                // me.getValue()).getMaxY()));
                                axis4.setLabelPaint(colors[count]);
                                axis4.setTickLabelPaint(colors[count]);
                                plot2.setRangeAxis(count, axis4);
                                final ValueAxis domainAxis = domainAxis1;

                                // domainAxis.setLowerMargin(0.001);
                                // domainAxis.setUpperMargin(0.0);
                                plot2.setDomainCrosshairVisible(true);
                                plot2.setRangeCrosshairVisible(true);
                                //plot2.setRangeCrosshairLockedOnData(true);
                                plot2.setDomainAxis(domainAxis);
                                plot2.setForegroundAlpha(0.5f);
                                plot2.setDataset(count, dataset);
                                plot2.mapDatasetToRangeAxis(count, count);
                                XYBarRenderer rend = new XYBarRenderer(); // XYErrorRenderer

                                rend.setShadowVisible(false);
                                rend.setDrawBarOutline(true);
                                Stroke stroke = new BasicStroke(5);
                                rend.setBaseStroke(stroke);
                                final XYItemRenderer renderer = rend;
                                renderer.setSeriesToolTipGenerator(0, tt1);
                                // renderer.setItemLabelsVisible(true);
                                renderer.setSeriesPaint(0, colors[count]);
                                renderer.setSeriesVisible(0, true);
                                plot2.setRenderer(count, renderer);
                                int hits = 0;
                                int matchs = 0;

                                if (((ExtendedTimeSeries) me.getValue()).getStat() != null) {
                                    hits = ((ExtendedTimeSeries) me.getValue()).getStat()[1];
                                    //   matchs= ((ExtendedTimeSeries) me.getValue()).getStat()[0];
                                }
                                JCheckBox jcb = new JCheckBox(new VisibleAction(panel, checkboxPanel, axis4,
                                        me.getKey().toString() + "(" + hits + ")", 0));

                                jcb.setSelected(true);
                                jcb.setBackground(Color.white);
                                jcb.setBorderPainted(true);
                                jcb.setBorder(BorderFactory.createLineBorder(colors[count], 1, true));
                                jcb.setFont(new Font("Sans-serif", oldSmallFont.getStyle(),
                                        oldSmallFont.getSize()));
                                checkboxPanel.add(jcb);
                                count++;
                            }

                            JPanel pan = new JPanel();

                            pan.setLayout(new BorderLayout());
                            pan.setPreferredSize(new Dimension(600,
                                    Integer.parseInt((String) Preferences.getPreference("chartSize"))));
                            // pan.setPreferredSize(panelSize);
                            panel.add(pan);
                            final ChartPanel cpanel = new ChartPanel(chart);
                            cpanel.setMinimumDrawWidth(0);
                            cpanel.setMinimumDrawHeight(0);
                            cpanel.setMaximumDrawWidth(1920);
                            cpanel.setMaximumDrawHeight(1200);
                            // cpanel.setInitialDelay(0);
                            cpanel.setDismissDelay(9999999);
                            cpanel.setInitialDelay(50);
                            cpanel.setReshowDelay(200);
                            cpanel.setPreferredSize(new Dimension(600, 350));
                            // cpanel.restoreAutoBounds(); fix the tooltip
                            // missing problem but then relative display is
                            // broken
                            panel.add(new JSeparator(SwingConstants.HORIZONTAL));
                            pan.add(cpanel, BorderLayout.CENTER);
                            // checkboxPanel.setPreferredSize(new Dimension(600,
                            // 0));
                            cpanel.addChartMouseListener(new ChartMouseListener() {

                                public void chartMouseClicked(ChartMouseEvent chartmouseevent) {
                                    // chartmouseevent.getEntity().

                                    ChartEntity entity = chartmouseevent.getEntity();
                                    if (entity instanceof XYItemEntity) {
                                        XYItemEntity item = ((XYItemEntity) entity);
                                        if (item.getDataset() instanceof TimeSeriesCollection) {

                                            TimeSeriesCollection data = (TimeSeriesCollection) item
                                                    .getDataset();
                                            TimeSeries series = data.getSeries(item.getSeriesIndex());
                                            TimeSeriesDataItem dataitem = series.getDataItem(item.getItem());

                                            // logger.info(" Serie: "+series.getKey().toString()
                                            // +
                                            // " Period : "+dataitem.getPeriod().toString());
                                            // mr.getFileForDate(new Date
                                            // (x.longValue())
                                            ;
                                            int x = chartmouseevent.getTrigger().getX();
                                            // logger.info(mr.getFileForDate(dataitem.getPeriod().getEnd()));
                                            int y = chartmouseevent.getTrigger().getY();
                                            String myString = "";
                                            if (dataitem.getPeriod() != null) {
                                                logger.info(dataitem.getPeriod().getEnd());
                                                //                                    myString = mr.getFileForDate(dataitem.getPeriod().getEnd()).toString();
                                                String lineString = ""
                                                        + mr.getFileLineForDate(dataitem.getPeriod().getEnd(),
                                                                item.getDataset()
                                                                        .getSeriesKey(item.getSeriesIndex())
                                                                        .toString())
                                                                .getLineNumber();
                                                String fileString = cd.sourceFileArrayListMap
                                                        .get(pairs.getKey())
                                                        .get(mr.getFileLineForDate(
                                                                dataitem.getPeriod().getEnd(),
                                                                item.getDataset()
                                                                        .getSeriesKey(item.getSeriesIndex())
                                                                        .toString())
                                                                .getFileId())
                                                        .getFile().getAbsolutePath();
                                                String command = Preferences.getPreference("editorCommand");
                                                command = command.replace("$line", lineString);
                                                command = command.replace("$file", fileString);
                                                logger.info(command);
                                                Runtime rt = Runtime.getRuntime();
                                                try {
                                                    rt.exec(command);
                                                } catch (IOException e1) {
                                                    // TODO Auto-generated catch block
                                                    e1.printStackTrace();
                                                }
                                                StringSelection stringSelection = new StringSelection(
                                                        fileString);
                                                Clipboard clpbrd = Toolkit.getDefaultToolkit()
                                                        .getSystemClipboard();
                                                clpbrd.setContents(stringSelection, null);
                                                //      cpanel.getGraphics().drawString("file name copied", x - 5, y - 5);
                                                try {
                                                    Thread.sleep(500);
                                                } catch (InterruptedException e) {
                                                    // TODO Auto-generated catch
                                                    // block
                                                    e.printStackTrace();
                                                }
                                            }

                                            // logger.info(mr.getFileForDate(dataitem.getPeriod().getStart()));
                                        }
                                    }
                                }

                                public void chartMouseMoved(ChartMouseEvent e) {
                                }

                            });

                            pan.add(checkboxPanel, BorderLayout.SOUTH);

                        }
                    }
                } else {
                    logger.debug("mr dates null: " + mr.getGroup() + mr.getSourceID() + mr.getLogFiles());
                }
            }
        }
    }
    // Map=miner.mine(sourceFiles,repo);
    estimatedTime = System.currentTimeMillis() - startTime;

    revalidate();
    logger.info("display time: " + estimatedTime);
}

From source file:com.att.aro.diagnostics.GraphPanel.java

/**
 * Initializes a new instance of the GraphPanel class.
 *///from   w  ww  .  j a  v a 2 s.c o  m
public GraphPanel() {

    subplotMap.put(ChartPlotOptions.GPS,
            new GraphPanelPlotLabels(rb.getString("chart.gps"), createBarPlot(Color.gray), 1));
    subplotMap.put(ChartPlotOptions.RADIO,
            new GraphPanelPlotLabels(rb.getString("chart.radio"), createRadioPlot(), 2));
    subplotMap.put(ChartPlotOptions.BLUETOOTH,
            new GraphPanelPlotLabels(rb.getString("chart.bluetooth"), createBarPlot(Color.gray), 1));
    subplotMap.put(ChartPlotOptions.CAMERA,
            new GraphPanelPlotLabels(rb.getString("chart.camera"), createBarPlot(Color.gray), 1));
    subplotMap.put(ChartPlotOptions.SCREEN,
            new GraphPanelPlotLabels(rb.getString("chart.screen"), createBarPlot(new Color(34, 177, 76)), 1));
    subplotMap.put(ChartPlotOptions.BATTERY,
            new GraphPanelPlotLabels(rb.getString("chart.battery"), createBatteryPlot(), 2));
    subplotMap.put(ChartPlotOptions.WAKELOCK,
            new GraphPanelPlotLabels(rb.getString("chart.wakelock"), createWakelockStatePlot(), 1));
    subplotMap.put(ChartPlotOptions.WIFI,
            new GraphPanelPlotLabels(rb.getString("chart.wifi"), createBarPlot(Color.gray), 1));
    subplotMap.put(ChartPlotOptions.ALARM,
            new GraphPanelPlotLabels(rb.getString("chart.alarm"), createAlarmPlot(), 2));
    subplotMap.put(ChartPlotOptions.NETWORK_TYPE,
            new GraphPanelPlotLabels(rb.getString("chart.networkType"), createBarPlot(Color.gray), 1));
    subplotMap.put(ChartPlotOptions.THROUGHPUT,
            new GraphPanelPlotLabels(rb.getString("chart.throughput"), createThroughputPlot(), 2));
    subplotMap.put(ChartPlotOptions.BURSTS,
            new GraphPanelPlotLabels(rb.getString("chart.bursts"), createBurstPlot(), 1));
    subplotMap.put(ChartPlotOptions.USER_INPUT,
            new GraphPanelPlotLabels(rb.getString("chart.userInput"), createUserEventPlot(), 1));
    subplotMap.put(ChartPlotOptions.RRC,
            new GraphPanelPlotLabels(rb.getString("chart.rrc"), createRrcPlot(), 1));
    subplotMap.put(ChartPlotOptions.CPU,
            new GraphPanelPlotLabels(rb.getString("chart.cpu"), createCpuPlot(), 1));

    this.pp = new PacketPlots();
    subplotMap.put(ChartPlotOptions.UL_PACKETS,
            new GraphPanelPlotLabels(rb.getString("chart.ul"), pp.getUlPlot(), 1));
    subplotMap.put(ChartPlotOptions.DL_PACKETS,
            new GraphPanelPlotLabels(rb.getString("chart.dl"), pp.getDlPlot(), 1));

    this.axis = new NumberAxis();
    this.axis.setStandardTickUnits(UNITS);
    this.axis.setRange(new Range(0, DEFAULT_TIMELINE));
    this.axis.setLowerBound(0);

    this.axis.setAutoTickUnitSelection(true);
    this.axis.setTickMarkInsideLength(1);
    this.axis.setTickMarkOutsideLength(1);

    this.axis.setMinorTickMarksVisible(true);
    this.axis.setMinorTickMarkInsideLength(2f);
    this.axis.setMinorTickMarkOutsideLength(2f);
    this.axis.setTickMarkInsideLength(4f);
    this.axis.setTickMarkOutsideLength(4f);

    this.axisLabel = new JLabel(rb.getString("chart.timeline"));
    this.axisLabel.setHorizontalAlignment(SwingConstants.CENTER);

    this.setLayout(new BorderLayout());
    this.setPreferredSize(new Dimension(200, 310));
    this.add(getZoomSavePanel(), BorderLayout.EAST);
    this.add(getPane(), BorderLayout.CENTER);
    this.add(getLabelsPanel(), BorderLayout.WEST);

    setChartOptions(UserPreferences.getInstance().getChartPlotOptions());
}

From source file:net.sf.mzmine.chartbasics.ChartLogics.java

/**
 * Zoom in (negative zoom) or zoom out of axis.
 * //from   w w w . j  a v a 2  s. c  o m
 * @param myChart
 * @param zoom percentage zoom factor
 * @param holdLowerBound if true only the upper bound will be zoomed
 */
public static void zoomAxis(ValueAxis axis, double zoom, boolean holdLowerBound) {
    double lower = axis.getLowerBound();
    double upper = axis.getUpperBound();
    double dist = upper - lower;

    if (holdLowerBound) {
        if (zoom == 0)
            return;
        upper += dist * zoom;
    } else {
        lower -= dist * zoom / 2;
        upper += dist * zoom / 2;
    }

    if (lower < upper) {
        logger.info("Set zoom:" + lower + ", " + upper + " (keep lower:" + holdLowerBound + ")");
        Range range = new Range(lower, upper);
        setZoomAxis(axis, keepRangeWithinAutoBounds(axis, range));
    }
}

From source file:com.att.aro.main.GraphPanel.java

/**
 * Resets the chart labels, and the chart and axis information of the
 * GraphPanel when the specified trace data is loaded. The current instance
 * of the GraphPanel is preserved, along with the current zoom state. The
 * scroll bar is moved to position 0.//  w w  w.j  a  va 2s.  co  m
 * 
 * @param analysis
 *            - An Analysis object containing the new trace analysis data.
 */
public synchronized void resetChart(TraceData.Analysis analysis) {

    this.traceData = analysis != null ? analysis.getTraceData() : null;
    getSaveGraphButton().setEnabled(analysis != null);
    // Setting the initial value on the time axis to -0.01 as the first
    // packet time stamp in pcap analysis is always zero and hence the tool
    // tip does not get displayed.
    this.axis.setRange(
            new Range(-0.01, analysis != null ? analysis.getTraceData().getTraceDuration() : DEFAULT_TIMELINE));

    setGraphView(0);
    for (Map.Entry<ChartPlotOptions, GraphPanelPlotLabels> entry : subplotMap.entrySet()) {
        switch (entry.getKey()) {
        case BATTERY:
            populateBatteryPlot(entry.getValue().getPlot(), analysis);
            break;
        case BLUETOOTH:
            populateBluetoothPlot(entry.getValue().getPlot(), analysis);
            break;
        case BURSTS:
            populateBurstPlot(entry.getValue().getPlot(), analysis);
            break;
        case CAMERA:
            populateCameraPlot(entry.getValue().getPlot(), analysis);
            break;
        case GPS:
            populateGpsPlot(entry.getValue().getPlot(), analysis);
            break;
        case NETWORK_TYPE:
            populateNetworkTyesPlot(entry.getValue().getPlot(), analysis);
            break;
        case RADIO:
            populateRadioPlot(entry.getValue().getPlot(), analysis);
            break;
        case RRC:
            populateRrcPlot(entry.getValue().getPlot(), analysis);
            break;
        case SCREEN:
            populateScreenStatePlot(entry.getValue().getPlot(), analysis);
            break;
        case THROUGHPUT:
            populateThroughputPlot(entry.getValue().getPlot(), analysis);
            break;
        case USER_INPUT:
            populateUserEventPlot(entry.getValue().getPlot(), analysis);
            break;
        case WIFI:
            populateWifiPlot(entry.getValue().getPlot(), analysis);
            break;
        case CPU:
            populateCpuPlot(entry.getValue().getPlot(), analysis);
            break;
        default:
            break;
        }
    }
    this.pp.populatePacketPlots(analysis);
    this.getZoomInButton().setEnabled(analysis != null);
    this.getZoomOutButton().setEnabled(analysis != null);
    this.getSaveGraphButton().setEnabled(analysis != null);
}

From source file:net.sf.mzmine.chartbasics.ChartLogics.java

/**
 * Zoom in (negative zoom) or zoom out of axis.
 * /*ww w  . j a  v a2s  .c  o  m*/
 * @param myChart
 * @param zoom percentage zoom factor
 * @param start point on this range (first click/pressed event), used as center
 */
public static void zoomAxis(ValueAxis axis, double zoom, double start) {
    double lower = axis.getLowerBound();
    double upper = axis.getUpperBound();
    double dist = upper - lower;
    double f = (start - lower) / dist;

    lower -= dist * zoom * f;
    upper += dist * zoom * (1 - f);

    if (lower < upper) {
        Range range = new Range(lower, upper);
        setZoomAxis(axis, keepRangeWithinAutoBounds(axis, range));
    }
}

From source file:com.att.aro.ui.view.diagnostictab.GraphPanel.java

public void refresh(AROTraceData aroTraceData) {
    getSaveGraphButton().setEnabled(aroTraceData != null);
    if (combinedPlot != null) {
        setGraphView(combinedPlot.getDomainCrosshairValue(), true);
    } else {/*ww  w. j a  v  a 2  s .co m*/
        setGraphView(0, true);
    }
    setTraceData(aroTraceData);
    if (aroTraceData != null) {
        setAllPackets(aroTraceData.getAnalyzerResult().getTraceresult().getAllpackets());
        setTraceDuration(aroTraceData.getAnalyzerResult().getTraceresult().getTraceDuration());
        setAllTcpSessions(aroTraceData.getAnalyzerResult().getSessionlist().size());// list
        // length
    } else {
        setAllPackets(new LinkedList<PacketInfo>());
        setTraceDuration(0);
        setAllTcpSessions(0);
    }

    if (aroTraceData != null && aroTraceData.getAnalyzerResult().getFilter() != null
            && aroTraceData.getAnalyzerResult().getFilter().getTimeRange() != null) {
        if (aroTraceData.getAnalyzerResult().getSessionlist().size() > 0
                && aroTraceData.getAnalyzerResult().getFilter().getTimeRange().getBeginTime() < aroTraceData
                        .getAnalyzerResult().getFilter().getTimeRange().getEndTime()) {
            getAxis().setRange(
                    new Range(aroTraceData.getAnalyzerResult().getFilter().getTimeRange().getBeginTime(),
                            aroTraceData != null
                                    ? aroTraceData.getAnalyzerResult().getFilter().getTimeRange().getEndTime()
                                    : DEFAULT_TIMELINE));
        } else {
            getAxis().setRange(new Range(-0.01, 0));
        }
    } else {
        if (getEndTime() > 0) { // greg story selected rows from UI
            if (aroTraceData != null) {
                getAxis().setRange(new Range(getStartTime(), getEndTime()));
            }
            setStartTime(0.0); // Reset times
            setEndTime(0.0);
        } else {
            getAxis().setRange(new Range(-0.01,
                    aroTraceData != null ? aroTraceData.getAnalyzerResult().getTraceresult().getTraceDuration()
                            : DEFAULT_TIMELINE));
        }
    }
    if (aroTraceData != null && aroTraceData.getAnalyzerResult().getSessionlist().size() > 0) {
        for (Map.Entry<ChartPlotOptions, GraphPanelPlotLabels> entry : getSubplotMap().entrySet()) {
            switch (entry.getKey()) {
            case THROUGHPUT:
                if (throughput == null) {
                    throughput = new ThroughputPlot();
                }
                throughput.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case BURSTS:
                if (burstPlot == null) {
                    burstPlot = new BurstPlot();
                }
                // burstPlot = new BurstPlot();
                burstPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case RRC:
                if (rrcPlot == null) {
                    rrcPlot = new RrcPlot();
                }
                rrcPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case USER_INPUT:
                if (eventPlot == null) {
                    eventPlot = new UserEventPlot();
                }
                eventPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case DL_PACKETS:
                if (dlPlot == null) {
                    dlPlot = new DLPacketPlot();
                }
                dlPlot.populate(entry.getValue().getPlot(), aroTraceData, true);
                break;
            case UL_PACKETS:
                if (upPlot == null) {
                    upPlot = new DLPacketPlot();
                }
                upPlot.populate(entry.getValue().getPlot(), aroTraceData, false);
                break;
            case ALARM:
                if (alarmPlot == null) {
                    alarmPlot = new AlarmPlot();
                }
                alarmPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case GPS:
                if (gpsPlot == null) {
                    gpsPlot = new GpsPlot();
                }
                gpsPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case RADIO:
                if (radioPlot == null) {
                    radioPlot = new RadioPlot();
                }
                radioPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case CPU:
                if (cpuPlot == null) {
                    cpuPlot = new CpuPlot();
                }
                cpuPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case SCREEN:
                if (ssPlot == null) {
                    ssPlot = new ScreenStatePlot();
                }
                ssPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case BATTERY:
                if (bPlot == null) {
                    bPlot = new BatteryPlot();
                }
                bPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case TEMPERATURE:
                if (tPlot == null) {
                    tPlot = new TemperaturePlot();
                }
                tPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case BLUETOOTH:
                if (bluetoothPlot == null) {
                    bluetoothPlot = new BluetoothPlot();
                }
                bluetoothPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case WIFI:
                if (wPlot == null) {
                    wPlot = new WifiPlot();
                }
                wPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case CAMERA:
                if (cPlot == null) {
                    cPlot = new CameraPlot();
                }
                cPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case NETWORK_TYPE:
                if (ntPlot == null) {
                    ntPlot = new NetworkTypePlot();
                }
                ntPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case WAKELOCK:
                if (wlPlot == null) {
                    wlPlot = new WakeLockPlot();
                }
                wlPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;
            case ATTENUATION:
                if (attnrPlot == null) {
                    attnrPlot = new AttenuatorPlot();
                }
                attnrPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;

            case SPEED_THROTTLE:
                if (stPlot == null) {
                    stPlot = new SpeedThrottlePlot();
                }
                stPlot.populate(entry.getValue().getPlot(), aroTraceData);
                break;

            case VIDEO_CHUNKS:
                if (vcPlot == null) {
                    vcPlot = new VideoChunksPlot();
                }
                XYPlot bufferOccupancyPlot = getSubplotMap().get(ChartPlotOptions.BUFFER_OCCUPANCY).getPlot();
                XYPlot bufferTimePlot = getSubplotMap().get(ChartPlotOptions.BUFFER_TIME_OCCUPANCY).getPlot();
                // videoChunkPlotDataItem = false;
                this.chunkInfo.clear();
                vcPlot.setBufferOccupancyPlot(bufferOccupancyPlot);
                vcPlot.setBufferTimePlot(bufferTimePlot);
                // vcPlot.setFirstChunkPlayTime(0);
                AROManifest selectedManifest = null;
                int count = 0;
                VideoUsage videoUsage = aroTraceData.getAnalyzerResult().getVideoUsage();
                if (videoUsage != null) {
                    for (AROManifest manifest : videoUsage.getManifests()) {
                        if (manifest != null && manifest.isSelected()) {
                            selectedManifest = manifest;
                            count++;
                        }
                    }
                    if (count == 1 && selectedManifest != null && selectedManifest.getDelay() != 0) {
                        VideoEvent firstSegment = (VideoEvent) selectedManifest.getVideoEventsBySegment()
                                .toArray()[0];

                        Map<AROManifest, VideoEvent> firstSelectedSegments = null;
                        if (vcPlot.getVideoChunkPlotterReference() != null && aroTraceData.getAnalyzerResult()
                                .getVideoUsage().getChunkPlayTimeList() != null) {
                            firstSelectedSegments = aroTraceData.getAnalyzerResult().getVideoUsage()
                                    .getFirstSelectedSegment();
                        }
                        if (firstSelectedSegments != null) {
                            for (AROManifest manifest : firstSelectedSegments.keySet()) {
                                if (manifest.equals(selectedManifest)) {
                                    firstSegment = firstSelectedSegments.get(manifest);
                                    break;
                                }
                            }
                        } else if (selectedManifest.getVideoFormat() == VideoFormat.MPEG4) {
                            for (VideoEvent video : selectedManifest.getVideoEventsBySegment()) {
                                if (video.getSegment() != 0) {
                                    firstSegment = video;
                                    break;
                                }
                            }
                        }

                        vcPlot.refreshPlot(getSubplotMap().get(ChartPlotOptions.VIDEO_CHUNKS).getPlot(),
                                aroTraceData, selectedManifest.getDelay() + firstSegment.getEndTS(),
                                firstSegment);
                    } else {
                        vcPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    }
                    SliderDialogBox.segmentListChosen = new ArrayList<>();
                }
                break;
            /*
             * case BUFFER_OCCUPANCY: if(boPlot==null){ boPlot = new
             * BufferOccupancyPlot(); }
             * boPlot.populate(entry.getValue().getPlot(),aroTraceData);
             * break;
             */
            default:
                break;
            }
        }
    }
    getZoomInButton().setEnabled(aroTraceData != null);
    getZoomOutButton().setEnabled(aroTraceData != null);
    getSaveGraphButton().setEnabled(aroTraceData != null);
    getRefreshButton().setEnabled(false); // Greg Story
    if (aroTraceData != null) {
        parent.getDeviceNetworkProfilePanel().refresh(aroTraceData); // Greg
        // Story
    }
}

From source file:org.gridchem.client.gui.panels.myccg.resource.HPCChartPanel.java

private void renderMeterChart(JFreeChart chart, LoadType loadType, ComputeBean hpc) {

    MeterPlot plot = (MeterPlot) chart.getPlot();
    plot.setBackgroundPaint(Color.WHITE);

    plot.addInterval(//from  w  w w . j a v a  2  s. c o m
            new MeterInterval("High", new Range(85.0, 100.0), Color.RED, new BasicStroke(), Color.RED));
    plot.addInterval(new MeterInterval("Low", new Range(0.0, 85.0)));
    plot.setDialOutlinePaint(Color.blue);
    plot.setNeedlePaint(Color.WHITE);
    plot.setDialBackgroundPaint(Color.BLACK);
    plot.setTickPaint(Color.WHITE);
    plot.setTickLabelsVisible(true);
    plot.setTickLabelPaint(Color.WHITE);
    if (loadType.equals(LoadType.DISK)) {
        plot.setUnits("% peak (" + hpc.getLoad().getDisk() + "GB/" + hpc.getTotalDisk() + "GB)");
    } else if (loadType.equals(LoadType.CPU)) {
        plot.setUnits("% peak (" + hpc.getLoad().getCpu() + "/" + hpc.getTotalCpu() + ")");
    } else if (loadType.equals(LoadType.QUEUE)) {
        plot.setUnits("% peak (" + hpc.getLoad().getJobsRunning() + "R/"
                + (hpc.getLoad().getJobsOther() + hpc.getLoad().getJobsQueued()) + ")O");
    } else {
        plot.setUnits("% Relative to Max");
    }

}