Example usage for org.jfree.chart.axis NumberAxis setLowerBound

List of usage examples for org.jfree.chart.axis NumberAxis setLowerBound

Introduction

In this page you can find the example usage for org.jfree.chart.axis NumberAxis setLowerBound.

Prototype

public void setLowerBound(double min) 

Source Link

Document

Sets the lower bound for the axis range.

Usage

From source file:it.eng.spagobi.engines.chart.bo.charttypes.XYCharts.SimpleBlockChart.java

/**
 * Creates a chart for the specified dataset.
 * /*from  ww  w.  j  a v a  2  s  .  co m*/
 * @param dataset  the dataset.
 * 
 * @return A chart instance.
 */
public JFreeChart createChart(DatasetMap datasets) {
    logger.debug("IN");
    XYZDataset dataset = (XYZDataset) datasets.getDatasets().get("1");

    JFreeChart chart = null;

    NumberAxis xAxis = new NumberAxis(xLabel);
    xAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    if (xLowerBound != null && xUpperBound != null) {
        xAxis.setLowerBound(xLowerBound);
        xAxis.setUpperBound(xUpperBound);
    } else {
        xAxis.setAutoRange(true);
    }
    xAxis.setAxisLinePaint(Color.white);
    xAxis.setTickMarkPaint(Color.white);

    if (addLabelsStyle != null && addLabelsStyle.getFont() != null) {
        xAxis.setLabelFont(addLabelsStyle.getFont());
        xAxis.setLabelPaint(addLabelsStyle.getColor());
    }

    NumberAxis yAxis = new NumberAxis(yLabel);
    yAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    if (yLowerBound != null && yUpperBound != null) {
        yAxis.setLowerBound(yLowerBound);
        yAxis.setUpperBound(yUpperBound);
    } else
        yAxis.setAutoRange(true);

    yAxis.setAxisLinePaint(Color.white);
    yAxis.setTickMarkPaint(Color.white);

    if (addLabelsStyle != null && addLabelsStyle.getFont() != null) {
        yAxis.setLabelFont(addLabelsStyle.getFont());
        yAxis.setLabelPaint(addLabelsStyle.getColor());
    }

    XYBlockRenderer renderer = new XYBlockRenderer();

    PaintScale paintScale = null;

    if (grayPaintScale) {
        paintScale = new GrayPaintScale(minScaleValue, maxScaleValue);
    } else {
        if (scaleLowerBound != null && scaleUpperBound != null) {
            paintScale = new LookupPaintScale(scaleLowerBound, scaleUpperBound, Color.gray);
        } else {
            paintScale = new LookupPaintScale(minScaleValue, maxScaleValue, Color.gray);
        }
        for (int i = 0; i < zRangeArray.length; i++) {
            ZRange zRange = zRangeArray[i];
            ((LookupPaintScale) paintScale).add(zRange.getValue().doubleValue(), zRange.getColor());

        }
    }

    renderer.setPaintScale(paintScale);

    XYPlot plot = new XYPlot(dataset, xAxis, yAxis, renderer);
    plot.setBackgroundPaint(Color.lightGray);
    plot.setDomainGridlinesVisible(false);
    plot.setRangeGridlinePaint(Color.white);
    plot.setAxisOffset(new RectangleInsets(5, 5, 5, 5));
    plot.setForegroundAlpha(0.66f);

    chart = new JFreeChart(plot);
    TextTitle title = setStyleTitle(name, styleTitle);
    chart.setTitle(title);
    if (subName != null && !subName.equals("")) {
        TextTitle subTitle = setStyleTitle(subName, styleSubTitle);
        chart.addSubtitle(subTitle);
    }

    chart.removeLegend();

    NumberAxis scaleAxis = new NumberAxis(zLabel);
    scaleAxis.setAxisLinePaint(Color.white);
    scaleAxis.setTickMarkPaint(Color.white);
    scaleAxis.setTickLabelFont(new Font("Dialog", Font.PLAIN, 7));
    if (scaleLowerBound != null && scaleUpperBound != null) {
        scaleAxis.setLowerBound(scaleLowerBound);
        scaleAxis.setUpperBound(scaleUpperBound);
    } else
        scaleAxis.setAutoRange(true);

    if (addLabelsStyle != null && addLabelsStyle.getFont() != null) {
        scaleAxis.setLabelFont(addLabelsStyle.getFont());
        scaleAxis.setLabelPaint(addLabelsStyle.getColor());
    }

    if (blockHeight != null && blockWidth != null) {
        renderer.setBlockWidth(blockWidth.doubleValue());
        renderer.setBlockHeight(blockHeight.doubleValue());
    }

    PaintScaleLegend legend = new PaintScaleLegend(paintScale, scaleAxis);
    legend.setAxisLocation(AxisLocation.BOTTOM_OR_LEFT);
    legend.setAxisOffset(5.0);
    legend.setMargin(new RectangleInsets(5, 5, 5, 5));
    legend.setFrame(new BlockBorder(Color.black));
    legend.setPadding(new RectangleInsets(10, 10, 10, 10));
    legend.setStripWidth(10);
    legend.setPosition(RectangleEdge.RIGHT);
    legend.setBackgroundPaint(color);

    chart.addSubtitle(legend);

    //      chart.setBackgroundPaint(new Color(180, 180, 250));   
    chart.setBackgroundPaint(color);

    logger.debug("OUT");
    return chart;
}

From source file:no.met.jtimeseries.chart.ChartPlotter.java

/**
 * Set the bound of axis//from   www.j a v  a2 s . c o m
 * @param numberAxis The range axis
 * @param maxValue The maximum value 
 * @param minValue The minimum value
 * @param span The number of lines between the maximum value and the minimum value
 * @param gridLines The number of background lines
 */
public static void setAxisBound(NumberAxis numberAxis, double maxValue, double minValue, int span,
        int gridLines) {
    double tick = (maxValue - minValue) / span;
    tick = Math.ceil(tick);
    double lowBound = Math.floor(minValue / (tick)) * (tick);
    double upperBound = Math.ceil(maxValue / (tick)) * (tick);
    int emptyLines = (int) ((lowBound + gridLines * tick - upperBound) / tick);
    lowBound = lowBound - (emptyLines / 2) * tick;
    lowBound = lowBound == minValue ? lowBound - 1 : lowBound;
    upperBound = lowBound + tick * gridLines;

    numberAxis.setTickUnit(new NumberTickUnit(tick));
    numberAxis.setLowerBound(lowBound);
    numberAxis.setUpperBound(upperBound);
}

From source file:com.googlecode.logVisualizer.chart.QuestTurnsBarChart.java

@Override
protected ChartPanel createChartPanel() {
    final ChartPanel panel = super.createChartPanel();
    final JFreeChart chart = panel.getChart();
    final CategoryDataset dataset = ((CategoryPlot) chart.getPlot()).getDataset();
    final NumberAxis numberAxis = (NumberAxis) ((CategoryPlot) chart.getPlot()).getRangeAxis();

    int maxTurncount = 0;
    for (int i = 0; i < dataset.getColumnCount(); i++)
        if (dataset.getValue(0, i).intValue() > maxTurncount)
            maxTurncount = dataset.getValue(0, i).intValue();

    // Use hard ranges to make comparison between different logs easier, but
    // don't cut off the bars if some are too long.
    numberAxis.setAutoRange(false);//www  . ja v  a2  s  .  c  o  m
    numberAxis.setLowerBound(0);
    numberAxis.setUpperBound(maxTurncount <= 125 ? 125 : maxTurncount + 10);

    return panel;
}

From source file:Applet.EmbeddedChart.java

public synchronized void updateInfo(String[] legends, List<double[][]> yVals, boolean gofr) {
    removeAll();//from  w  w w .j a  va  2  s  . com
    GridBagLayout gbl = new GridBagLayout();
    gbl.columnWidths = new int[] { 10, 0, 0 };
    gbl.rowHeights = new int[] { 0, 0, 0 };
    gbl.columnWeights = new double[] { 0.0, 1.0, 1.0 };
    gbl.rowWeights = new double[] { 1.0, 1.0, 0.0 };
    setLayout(gbl);

    this.legends = legends;
    this.yvals = yVals;
    this.gofr = gofr;

    XYDataset dataset = createDataset(gofr, legends, yVals);
    JFreeChart chart = createChart(dataset, title, gofr);
    chartPanel = new ChartPanel(chart);
    chartPanel.setMinimumDrawWidth(0);
    chartPanel.setMinimumDrawHeight(0);
    chartPanel.setMaximumDrawWidth(2000);
    chartPanel.setMaximumDrawHeight(2000);
    XYPlot plot = (XYPlot) chart.getPlot();
    plot.setBackgroundPaint(Color.white);
    chartPanel.getChart().setBackgroundPaint(null);
    GridBagConstraints gbc = new GridBagConstraints();
    gbc.gridx = 1;
    gbc.gridy = 0;
    gbc.gridwidth = 2;
    gbc.gridheight = 2;
    gbc.fill = GridBagConstraints.BOTH;
    add(chartPanel, gbc);

    GridBagConstraints gbcX1 = new GridBagConstraints();
    GridBagConstraints gbcX2 = new GridBagConstraints();
    GridBagConstraints gbcY1 = new GridBagConstraints();
    GridBagConstraints gbcY2 = new GridBagConstraints();
    GridBagConstraints gbcButton = new GridBagConstraints();
    final NumberAxis domain = (NumberAxis) ((XYPlot) chartPanel.getChart().getPlot()).getDomainAxis();
    final NumberAxis range = (NumberAxis) ((XYPlot) chartPanel.getChart().getPlot()).getRangeAxis();

    if (gofr) {
        domain.setLowerBound(over.gr_xMin);
        domain.setUpperBound(over.gr_xMax);
        range.setLowerBound(over.gr_yMin);
        range.setUpperBound(over.gr_yMax);
    } else {
        domain.setLowerBound(over.pot_xMin);
        domain.setUpperBound(over.pot_xMax);
        range.setLowerBound(over.pot_yMin);
        range.setUpperBound(over.pot_yMax);
    }

    gbcX2.gridx = 2;
    gbcX2.gridy = 2;
    gbcX2.anchor = GridBagConstraints.EAST;
    gbcX2.insets = new Insets(0, 0, 0, 12);
    final JTextField xMax = new JTextField(5);
    xMax.setMinimumSize(new Dimension(50, 20));
    xMax.setText("" + domain.getUpperBound());
    // gbcX2.fill = GridBagConstraints.VERTICAL;
    add(xMax, gbcX2);
    final boolean gr = gofr;
    xMax.addFocusListener(new FocusListener() {

        @Override
        public void focusLost(FocusEvent e) {
            if (gr) {
                over.gr_xMax = Double.parseDouble(xMax.getText());
                domain.setRange(over.gr_xMin, over.gr_xMax);
            } else {
                over.pot_xMax = Double.parseDouble(xMax.getText());
                domain.setRange(over.pot_xMin, over.pot_xMax);
            }
        }

        @Override
        public void focusGained(FocusEvent e) {
        }
    });

    gbcX1.gridx = 1;
    gbcX1.gridy = 2;
    gbcX1.anchor = GridBagConstraints.WEST;
    gbcX1.insets = new Insets(0, 70, 0, 0);
    final JTextField xMin = new JTextField(5);
    xMin.setMinimumSize(new Dimension(50, 20));
    xMin.setText("" + domain.getLowerBound());
    // gbcX1.fill = GridBagConstraints.VERTICAL;
    add(xMin, gbcX1);
    xMin.addFocusListener(new FocusListener() {

        @Override
        public void focusLost(FocusEvent e) {
            x1 = Double.parseDouble(xMin.getText());
            domain.setRange(x1, x2);
            if (gr) {
                over.gr_xMin = Double.parseDouble(xMin.getText());
                domain.setRange(over.gr_xMin, over.gr_xMax);
            } else {
                over.pot_xMin = Double.parseDouble(xMin.getText());
                domain.setRange(over.pot_xMin, over.pot_xMax);
            }
        }

        @Override
        public void focusGained(FocusEvent e) {
        }
    });

    gbcY1.gridx = 0;
    gbcY1.gridy = 1;
    gbcY1.anchor = GridBagConstraints.SOUTH;
    gbcY1.insets = new Insets(0, 0, 45, 0);
    final JTextField yMin = new JTextField(5);
    yMin.setMinimumSize(new Dimension(50, 20));
    yMin.setText("" + range.getLowerBound());
    // gbcY1.fill = GridBagConstraints.BOTH;
    add(yMin, gbcY1);
    yMin.addFocusListener(new FocusListener() {

        @Override
        public void focusLost(FocusEvent e) {
            if (gr) {
                over.gr_yMin = Double.parseDouble(yMin.getText());
                range.setRange(over.gr_yMin, over.gr_yMax);
            } else {
                over.pot_yMin = Double.parseDouble(yMin.getText());
                range.setRange(over.pot_yMin, over.pot_yMax);
            }

        }

        @Override
        public void focusGained(FocusEvent e) {
        }
    });

    gbcY2.gridx = 0;
    gbcY2.gridy = 0;
    gbcY2.anchor = GridBagConstraints.NORTH;
    gbcY2.insets = new Insets(10, 0, 0, 0);
    final JTextField yMax = new JTextField(5);
    yMax.setMinimumSize(new Dimension(50, 20));
    yMax.setText("" + range.getUpperBound());
    // gbcY2.fill = GridBagConstraints.BOTH;
    add(yMax, gbcY2);
    yMax.addFocusListener(new FocusListener() {

        @Override
        public void focusLost(FocusEvent e) {
            if (gr) {
                over.gr_yMax = Double.parseDouble(yMax.getText());
                range.setRange(over.gr_yMin, over.gr_yMax);
            } else {
                over.pot_yMax = Double.parseDouble(yMax.getText());
                range.setRange(over.pot_yMin, over.pot_yMax);
            }
        }

        @Override
        public void focusGained(FocusEvent e) {
        }
    });

}

From source file:org.cds06.speleograph.data.fileio.SpeleoFileReader.java

/**
 * Read a file with SpeleoGraph File Format.
 *
 * @param file The file to read//  ww w  .j  a  va  2 s.com
 * @throws FileReadingError On error while reading the file
 */
@SuppressWarnings("HardCodedStringLiteral")
@Override
public void readFile(File file) throws FileReadingError {
    InputStreamReader streamReader;
    try {
        streamReader = new InputStreamReader(new FileInputStream(file), "UTF-8"); // NON-NLS
    } catch (UnsupportedEncodingException | FileNotFoundException e) {
        log.error("Can not access to file", e);
        throw new FileReadingError(I18nSupport.translate("error.canNotOpenFile", file.getName()),
                FileReadingError.Part.HEAD, e);
    }
    CSVReader reader = new CSVReader(streamReader, ';', '"');
    axes = new ArrayList<>();
    typeAxesChecker = new ArrayList<>();
    String[] line;
    try {
        line = reader.readNext();
    } catch (IOException e) {
        throw new FileReadingError(I18nSupport.translate("error.canNotReadFileOrEmpty"),
                FileReadingError.Part.HEAD, e);
    }
    int size, state = CHECKING;
    HeaderInformation headers = new HeaderInformation();
    DateInformation date = new DateInformation();
    headers.setDateInformation(date);
    while (line != null) {
        size = line.length;
        if (size == 0) {
            log.info("Empty line while reading file, just continue our walk.");
            continue;
        }
        String firstLineElement = line[0];
        if (firstLineElement.equals("eof"))
            break; // Force end for reading NON-NLS
        switch (state) {
        case CHECKING:
            if (!SPELEOGRAPH_FILE_HEADER.equals(firstLineElement))
                throw NOT_SPELEO_FILE;
            state = FINDING_HEADERS;
            break;
        case FINDING_HEADERS:
            if ("headers".equals(firstLineElement))
                state = READING_HEADERS; // NON-NLS
            break;
        case READING_HEADERS:
            switch (firstLineElement) {
            case "data":
                state = READING_DATA;
                break;
            case "date":
                readDateHeaderLine(date, line);
                break;
            case "axis":
                try {
                    NumberAxis axis = new NumberAxis(line[2]);
                    axis.setLowerBound((DecimalFormat.getInstance().parse(line[3])).doubleValue());
                    axis.setUpperBound(DecimalFormat.getInstance().parse(line[4]).doubleValue());
                    typeAxesChecker.add(Integer.parseInt(line[1]), new Properties(line).getBoolean("type"));
                    axes.add(Integer.parseInt(line[1]), axis);
                } catch (Exception e) {
                    log.error("Can not read axis", e);
                }
                break;
            case "chart":

                break;
            default:
                readSeriesHeaderLine(file, line, headers);
            }
            break;
        case READING_DATA:
            if (size <= 1)
                break;
            headers.read(line);
            break;
        default:
            log.info("State error in reading");
        }
        try {
            line = reader.readNext();
        } catch (IOException e) {
            log.debug("None next lines", e);
        }
    }
    Series.notifyInstanceListeners();
    log.info("File reading is ended");
}

From source file:pipeline.parameter_cell_views.FloatRangeSlider.java

private void updatePlot() {

    final XYPlot plot = chart.getXYPlot();
    final NumberAxis domainAxis = new NumberAxis(null);
    domainAxis.setAutoRange(false);//from  ww  w. j  av a2  s .  com
    domainAxis.setTickLabelFont(new Font("Times", 0, 20));
    domainAxis.setLowerBound(minimum);
    domainAxis.setUpperBound(maximum);
    plot.setDomainAxis(domainAxis);

    if (selectionRange != null) { // if we're displaying a histogram
        selectionRange.setStartValue(currentValue0);
        selectionRange.setEndValue(currentValue1);
    }

}

From source file:ecg.ecgshow.ECGShowUI.java

private void createECGData(long timeZone) {
    ECGData = new JPanel(new GridLayout(LEAD_COUNT, 1));
    dateAxises = new DateAxis[LEAD_COUNT];
    ECGSeries = new TimeSeries[LEAD_COUNT * 2];
    for (int i = 0; i < LEAD_COUNT; i++) {
        TimeSeriesCollection timeseriescollection = new TimeSeriesCollection(); //XYDataset  TimeSeriesCollection
        ECGSeries[i] = new TimeSeries("?" + (i + 1));
        ECGSeries[i].setMaximumItemCount(500);
        ECGSeries[i + LEAD_COUNT] = new TimeSeries("");
        ECGSeries[i + LEAD_COUNT].setMaximumItemAge(timeZone);
        ECGSeries[i + LEAD_COUNT].setMaximumItemCount(2);

        timeseriescollection.addSeries(ECGSeries[i]);
        timeseriescollection.addSeries(ECGSeries[i + LEAD_COUNT]);

        //DateAxis dateaxis = new DateAxis("Time");
        dateAxises[i] = new DateAxis("");
        dateAxises[i].setTickLabelFont(new Font("SansSerif", 0, (int) (HEIGHT * 0.016)));
        dateAxises[i].setLabelFont(new Font("SansSerif", 0, (int) (HEIGHT * 0.018)));
        dateAxises[i].setTickLabelsVisible(true);
        dateAxises[i].setVisible(false);

        //NumberAxis numberaxis = new NumberAxis("ecg");
        NumberAxis numberaxis = new NumberAxis("ecg");
        numberaxis.setTickLabelFont(new Font("SansSerif", 0, (int) (HEIGHT * 0.016)));
        numberaxis.setLabelFont(new Font("SansSerif", 0, (int) (HEIGHT * 0.018)));
        numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
        numberaxis.setVisible(false);//ww w .  ja  v a  2  s . co m
        numberaxis.setLowerBound(1500D);
        numberaxis.setUpperBound(3000D);

        XYLineAndShapeRenderer xylineandshaperenderer = new XYLineAndShapeRenderer(true, false);
        xylineandshaperenderer.setSeriesPaint(0, Color.GREEN); //
        xylineandshaperenderer.setSeriesStroke(0, new BasicStroke(2));
        xylineandshaperenderer.setSeriesPaint(1, Color.LIGHT_GRAY); //
        xylineandshaperenderer.setSeriesStroke(1, new BasicStroke(5));

        XYPlot xyplot = new XYPlot(timeseriescollection, dateAxises[i], numberaxis, xylineandshaperenderer);
        xyplot.setBackgroundPaint(Color.LIGHT_GRAY);
        xyplot.setDomainGridlinePaint(Color.LIGHT_GRAY);
        xyplot.setRangeGridlinePaint(Color.LIGHT_GRAY);
        xyplot.setAxisOffset(new RectangleInsets(5D, 5D, 5D, 5D));
        xyplot.setBackgroundPaint(Color.BLACK);

        JFreeChart jfreechart = new JFreeChart(xyplot);
        jfreechart.setBackgroundPaint(new Color(237, 237, 237));//?
        jfreechart.getLegend().setVisible(false);

        ChartPanel chartpanel = new ChartPanel(jfreechart, (int) (WIDTH * 46 / 100), (int) (HEIGHT * 17 / 100),
                0, 0, Integer.MAX_VALUE, Integer.MAX_VALUE, true, true, false, true, false, false);

        chartpanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0) //??0
                , BorderFactory.createEmptyBorder() //????
        ));
        chartpanel.setMouseZoomable(false); //?
        ECGData.add(chartpanel);
    }
}

From source file:ecg.ecgshow.ECGShowUI.java

private void createPressureData(long timeZone) {
    PressureData = new JPanel();
    PressuredateAxises = new DateAxis[1];
    SystolicPressureSeries = new TimeSeries[2];
    DiastolicPressureSeries = new TimeSeries[2];

    TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();
    SystolicPressureSeries[0] = new TimeSeries("");
    SystolicPressureSeries[0].setMaximumItemAge(timeZone);
    SystolicPressureSeries[0].setMaximumItemCount(500);
    SystolicPressureSeries[1] = new TimeSeries("");
    SystolicPressureSeries[1].setMaximumItemAge(timeZone);
    SystolicPressureSeries[1].setMaximumItemCount(2);
    timeseriescollection.addSeries(SystolicPressureSeries[0]);
    timeseriescollection.addSeries(SystolicPressureSeries[1]);

    PressuredateAxises[0] = new DateAxis("");
    PressuredateAxises[0].setTickLabelFont(new Font("SansSerif", 0, (int) (HEIGHT * 0.016)));
    PressuredateAxises[0].setLabelFont(new Font("SansSerif", 0, (int) (HEIGHT * 0.018)));
    PressuredateAxises[0].setTickLabelsVisible(true);
    PressuredateAxises[0].setVisible(false);

    DiastolicPressureSeries[0] = new TimeSeries("");
    DiastolicPressureSeries[0].setMaximumItemAge(timeZone);
    DiastolicPressureSeries[0].setMaximumItemCount(500);
    DiastolicPressureSeries[1] = new TimeSeries("");
    DiastolicPressureSeries[1].setMaximumItemAge(timeZone);
    DiastolicPressureSeries[1].setMaximumItemCount(2);
    timeseriescollection.addSeries(DiastolicPressureSeries[0]);
    timeseriescollection.addSeries(DiastolicPressureSeries[1]);

    NumberAxis numberaxis = new NumberAxis("Pressure");
    numberaxis.setTickLabelFont(new Font("SansSerif", 0, (int) (HEIGHT * 0.016)));
    numberaxis.setLabelFont(new Font("SansSerif", 0, (int) (HEIGHT * 0.018)));
    numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    numberaxis.setVisible(false);/*from   w  ww .j a  va  2  s .  com*/
    numberaxis.setLowerBound(0D);
    numberaxis.setUpperBound(200D);

    XYLineAndShapeRenderer xylineandshaperenderer = new XYLineAndShapeRenderer(true, false);
    xylineandshaperenderer.setSeriesPaint(0, Color.GREEN); //
    xylineandshaperenderer.setSeriesStroke(0, new BasicStroke(2)); //
    xylineandshaperenderer.setSeriesPaint(1, Color.LIGHT_GRAY); //
    xylineandshaperenderer.setSeriesStroke(1, new BasicStroke(5));

    xylineandshaperenderer.setSeriesPaint(2, Color.ORANGE); //
    xylineandshaperenderer.setSeriesStroke(2, new BasicStroke(2)); //
    xylineandshaperenderer.setSeriesPaint(3, Color.LIGHT_GRAY); //
    xylineandshaperenderer.setSeriesStroke(3, new BasicStroke(5));

    //XYPlot xyplot = new XYPlot(timeseriescollection, PressuredateAxises[0], numberaxis, xylineandshaperenderer);
    XYPlot xyplot = new XYPlot(timeseriescollection, dateAxises[0], numberaxis, xylineandshaperenderer);

    xyplot.setBackgroundPaint(Color.LIGHT_GRAY);
    xyplot.setDomainGridlinePaint(Color.LIGHT_GRAY);
    xyplot.setRangeGridlinePaint(Color.LIGHT_GRAY);
    xyplot.setAxisOffset(new RectangleInsets(5D, 5D, 5D, 5D));
    xyplot.setBackgroundPaint(Color.BLACK);

    JFreeChart jfreechart = new JFreeChart(xyplot);
    jfreechart.setBackgroundPaint(new Color(237, 237, 237));//?
    jfreechart.getLegend().setVisible(false);

    ChartPanel chartpanel = new ChartPanel(jfreechart, (int) (WIDTH * 0.155), (int) (HEIGHT * 0.18), 0, 0,
            Integer.MAX_VALUE, Integer.MAX_VALUE, true, true, false, true, false, false);

    chartpanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0) //??0
            , BorderFactory.createEmptyBorder() //????
    ));
    chartpanel.setMouseZoomable(false);
    PressureData.add(chartpanel);

}

From source file:pipeline.parameter_cell_views.FloatRangeSlider.java

@Override
protected Component getRendererOrEditorComponent(JTable table0, @NonNull Object value, boolean isSelected,
        boolean hasFocus, int row, int column, boolean rendererCalled) {
    if (currentParameter != null) {
        currentParameter.removeListener(this);
    }/*from  w w w.  ja v a  2  s. com*/

    currentParameter = (FloatRangeParameter) value;
    currentParameter.addGUIListener(this);

    table = table0;
    tableRow = row;

    evenTableRow = (row % 2 == 0);
    setOpaque(true);
    if (evenTableRow) {
        this.setBackground(Utils.COLOR_FOR_EVEN_ROWS);
    } else
        this.setBackground(Utils.COLOR_FOR_ODD_ROWS);
    textValueFrame.setBackground(getBackground());

    silenceUpdate = true;

    readInValuesFromParameter();

    if (currentParameter.histogram == null)
        ;// currentParameter.histogram=new XYSeries("");

    if (currentParameter.histogram instanceof XYSeries) {

        XYSeries xyData = (XYSeries) currentParameter.histogram;

        if (chart != null && chart.getXYPlot().getDataset() != null) {
            chart.getXYPlot().getDataset(0).removeChangeListener(chart.getXYPlot());
        }

        chart = ChartFactory.createXYLineChart(null, // chart title
                null, // "Category", // domain axis label
                null, // "Value", // range axis label
                new XYSeriesCollection(xyData), // data
                PlotOrientation.VERTICAL, false, // include legend
                true, false);

    } else if (currentParameter.histogram != null) { // assume for now it's a histogram
        if (chart != null && chart.getXYPlot().getDataset() != null) {
            chart.getXYPlot().getDataset(0).removeChangeListener(chart.getXYPlot());
        }

        String plotTitle = "Histogram";
        String xaxis = "number";
        String yaxis = "value";
        PlotOrientation orientation = PlotOrientation.VERTICAL;
        boolean show = false;
        boolean toolTips = false;
        boolean urls = false;
        chart = ChartFactory.createHistogram(plotTitle, xaxis, yaxis,
                (IntervalXYDataset) currentParameter.histogram, orientation, show, toolTips, urls);// dataset
    } else {
        if (chart != null && chart.getXYPlot().getDataset() != null) {
            chart.getXYPlot().getDataset(0).removeChangeListener(chart.getXYPlot());
        }
        chart = null;
    }

    if (currentParameter.histogram != null) {
        add(panelForHistogram, cForHistogram);
        final XYPlot plot = chart.getXYPlot();
        final NumberAxis domainAxis = new NumberAxis(null);
        domainAxis.setAutoRange(false);
        domainAxis.setTickLabelFont(new Font("Times", 0, 20));
        domainAxis.setLowerBound(minimum);
        domainAxis.setUpperBound(maximum);
        plot.setDomainAxis(domainAxis);

        final NumberAxis rangeAxis = new NumberAxis(null);
        rangeAxis.setAutoRange(true);
        rangeAxis.setVisible(false);
        plot.setRangeAxis(rangeAxis);
        chart.setBackgroundPaint(Color.white);
        chart.setPadding(new RectangleInsets(0, 0, 0, 0));

        plot.setBackgroundImage(null);
        plot.setBackgroundPaint(Color.white);
        plot.setOutlinePaint(Color.black);

        if (chartPanel == null) {
            chartPanel = new ChartPanel(chart);
            chartPanel.addMouseListener(this);
            chartPanel.addMouseMotionListener(this);
            chartPanel.setMouseWheelEnabled(true);
            chartPanel.setMouseZoomable(false);
            chartPanel.setRangeZoomable(false);

            panelForHistogram.add(chartPanel);

        } else
            chartPanel.setChart(chart);

        chartPanel.setSize(panelForHistogram.getSize());

        ((XYPlot) chart.getPlot()).getRenderer().setSeriesStroke(0, new BasicStroke(5.0f));
        selectionRange = new IntervalMarker(currentValue0, currentValue1);
        ((XYPlot) chart.getPlot()).addDomainMarker(selectionRange);
    } else {
        remove(panelForHistogram);
        setMaximumSize(new Dimension(700, 50));
        setPreferredSize(new Dimension(700, 50));
    }

    updateDisplays();

    silenceUpdate = false;
    return this;
}

From source file:no.met.jtimeseries.MeteogramWrapper.java

/**
 * Reset bound when both air temperature and dew point temperature are shown
 * @param model/*w ww  . ja  v a  2  s.  c  om*/
 * @param plotter
 */
private void resetBoundForTemperature(GenericDataModel model, ChartPlotter plotter) {
    NumberPhenomenon temperature = model.getNumberPhenomenon(PhenomenonName.AirTemperature.toString());
    NumberPhenomenon dewtemperature = model.getNumberPhenomenon(PhenomenonName.dewPointTemperature.toString());
    double minValue = temperature.getMinValue() <= dewtemperature.getMinValue() ? temperature.getMinValue()
            : dewtemperature.getMinValue();
    double maxValue = temperature.getMaxValue() >= dewtemperature.getMaxValue() ? temperature.getMaxValue()
            : dewtemperature.getMaxValue();

    NumberAxis numberAxis1 = (NumberAxis) plotter.getPlot().getRangeAxis(plotter.getPlotIndex() - 2);
    numberAxis1.setLabel(messages.getString("parameter.temperature"));
    ChartPlotter.setAxisBound(numberAxis1, maxValue, minValue, 8, BACKGROUND_LINES);

    NumberAxis numberAxis2 = (NumberAxis) plotter.getPlot().getRangeAxis(plotter.getPlotIndex() - 1);
    numberAxis2.setLabel(messages.getString("parameter.temperature"));
    numberAxis2.setUpperBound(numberAxis1.getUpperBound());
    numberAxis2.setLowerBound(numberAxis1.getLowerBound());
    numberAxis2.setTickUnit(numberAxis1.getTickUnit());
    numberAxis2.setVisible(false);

    //Add labels on the curves
    NumberValueItem airItem = (NumberValueItem) temperature.getItems().get(0);
    NumberValueItem dewpointItem = (NumberValueItem) dewtemperature.getItems().get(0);

    plotter.getPlot().getRenderer()
            .addAnnotation(ChartPlotter.createTextAnnotation(messages.getString("label.air"),
                    temperature.getStartTime().getTime(), airItem.getValue() + 0.1d, TextAnchor.BOTTOM_LEFT,
                    Color.RED), Layer.BACKGROUND);
    plotter.getPlot().getRenderer()
            .addAnnotation(ChartPlotter.createTextAnnotation(messages.getString("label.dewpoint"),
                    dewtemperature.getStartTime().getTime(), dewpointItem.getValue() + 0.1d,
                    TextAnchor.BOTTOM_LEFT, Color.ORANGE), Layer.BACKGROUND);
}