Package org.jfree.data.xy

Examples of org.jfree.data.xy.IntervalXYDataset


        // create a dataset...
        XYSeries series1 = new XYSeries("Series 1");
        series1.add(1.0, 1.0);
        series1.add(2.0, 2.0);
        series1.add(3.0, 3.0);
        IntervalXYDataset dataset = new XYBarDataset(new XYSeriesCollection(
                series1), 1.0);

        // create the chart...
        return ChartFactory.createXYBarChart(
            "XY Bar Chart"// chart title
View Full Code Here


     * @return The chart.
     */
    private static JFreeChart createCombinedChart() {

        // create plot ...
        IntervalXYDataset data1 = createDataset1();
        XYItemRenderer renderer1 = new XYLineAndShapeRenderer(true, false);
        renderer1.setBaseToolTipGenerator(new StandardXYToolTipGenerator(
                StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT,
                new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0.00")));
        renderer1.setSeriesStroke(0, new BasicStroke(4.0f,
                BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL));
        renderer1.setSeriesPaint(0, Color.blue);

        DateAxis domainAxis = new DateAxis("Year");
        domainAxis.setLowerMargin(0.0);
        domainAxis.setUpperMargin(0.02);
        ValueAxis rangeAxis = new NumberAxis("$billion");
        XYPlot plot1 = new XYPlot(data1, null, rangeAxis, renderer1);
        plot1.setBackgroundPaint(Color.lightGray);
        plot1.setDomainGridlinePaint(Color.white);
        plot1.setRangeGridlinePaint(Color.white);

        // add a second dataset and renderer...
        IntervalXYDataset data2 = createDataset2();
        XYBarRenderer renderer2 = new XYBarRenderer() {
            public Paint getItemPaint(int series, int item) {
                XYDataset dataset = getPlot().getDataset();
                if (dataset.getYValue(series, item) >= 0.0) {
                    return Color.red;
View Full Code Here

            ValueAxis domainAxis, ValueAxis rangeAxis, XYDataset dataset,
            int series, int item, CrosshairState crosshairState, int pass) {

        if (pass == 0 && dataset instanceof IntervalXYDataset
                && getItemVisible(series, item)) {
            IntervalXYDataset ixyd = (IntervalXYDataset) dataset;
            PlotOrientation orientation = plot.getOrientation();
            if (this.drawXError) {
                // draw the error bar for the x-interval
                double x0 = ixyd.getStartXValue(series, item);
                double x1 = ixyd.getEndXValue(series, item);
                double y = ixyd.getYValue(series, item);
                RectangleEdge edge = plot.getDomainAxisEdge();
                double xx0 = domainAxis.valueToJava2D(x0, dataArea, edge);
                double xx1 = domainAxis.valueToJava2D(x1, dataArea, edge);
                double yy = rangeAxis.valueToJava2D(y, dataArea,
                        plot.getRangeAxisEdge());
                Line2D line;
                Line2D cap1 = null;
                Line2D cap2 = null;
                double adj = this.capLength / 2.0;
                if (orientation == PlotOrientation.VERTICAL) {
                    line = new Line2D.Double(xx0, yy, xx1, yy);
                    cap1 = new Line2D.Double(xx0, yy - adj, xx0, yy + adj);
                    cap2 = new Line2D.Double(xx1, yy - adj, xx1, yy + adj);
                }
                else // PlotOrientation.HORIZONTAL
                    line = new Line2D.Double(yy, xx0, yy, xx1);
                    cap1 = new Line2D.Double(yy - adj, xx0, yy + adj, xx0);
                    cap2 = new Line2D.Double(yy - adj, xx1, yy + adj, xx1);
                }
                if (this.errorPaint != null) {
                    g2.setPaint(this.errorPaint);
                }
                else {
                    g2.setPaint(getItemPaint(series, item));
                }
                if (this.errorStroke != null) {
                    g2.setStroke(this.errorStroke);
                }
                else {
                    g2.setStroke(getItemStroke(series, item));
                }
                g2.draw(line);
                g2.draw(cap1);
                g2.draw(cap2);
            }
            if (this.drawYError) {
                // draw the error bar for the y-interval
                double y0 = ixyd.getStartYValue(series, item);
                double y1 = ixyd.getEndYValue(series, item);
                double x = ixyd.getXValue(series, item);
                RectangleEdge edge = plot.getRangeAxisEdge();
                double yy0 = rangeAxis.valueToJava2D(y0, dataArea, edge);
                double yy1 = rangeAxis.valueToJava2D(y1, dataArea, edge);
                double xx = domainAxis.valueToJava2D(x, dataArea,
                        plot.getDomainAxisEdge());
View Full Code Here

     * Serialize an instance, restore it, and check for equality.  This test
     * uses a {@link DateAxis} and a {@link StandardXYToolTipGenerator}.
     */
    public void testSerialization2() {

        IntervalXYDataset data1 = createDataset1();
        XYItemRenderer renderer1 = new XYBarRenderer(0.20);
        renderer1.setBaseToolTipGenerator(
                StandardXYToolTipGenerator.getTimeSeriesInstance());
        XYPlot p1 = new XYPlot(data1, new DateAxis("Date"), null, renderer1);
        XYPlot p2 = null;
View Full Code Here

     *         <code>String</code> objects (never <code>null</code>).
     */
    protected Object[] createItemArray(XYDataset dataset, int series,
                                       int item) {

        IntervalXYDataset intervalDataset = null;
        if (dataset instanceof IntervalXYDataset) {
            intervalDataset = (IntervalXYDataset) dataset;
        }
        Object[] result = new Object[7];
        result[0] = dataset.getSeriesKey(series).toString();

        double x = dataset.getXValue(series, item);
        double xs = x;
        double xe = x;
        double y = dataset.getYValue(series, item);
        double ys = y;
        double ye = y;
        if (intervalDataset != null) {
            xs = intervalDataset.getStartXValue(series, item);
            xe = intervalDataset.getEndXValue(series, item);
            ys = intervalDataset.getStartYValue(series, item);
            ye = intervalDataset.getEndYValue(series, item);
        }

        DateFormat xdf = getXDateFormat();
        if (xdf != null) {
            result[1] = xdf.format(new Date((long) x));
            result[2] = xdf.format(new Date((long) xs));
            result[3] = xdf.format(new Date((long) xe));
        }
        else {
            NumberFormat xnf = getXFormat();
            result[1] = xnf.format(x);
            result[2] = xnf.format(xs);
            result[3] = xnf.format(xe);
        }

        NumberFormat ynf = getYFormat();
        DateFormat ydf = getYDateFormat();
        if (Double.isNaN(y) && dataset.getY(series, item) == null) {
            result[4] = getNullYString();
        }
        else {
            if (ydf != null) {
                result[4] = ydf.format(new Date((long) y));
            }
            else {
                result[4] = ynf.format(y);
            }
        }
        if (Double.isNaN(ys)
                && intervalDataset.getStartY(series, item) == null) {
            result[5] = getNullYString();
        }
        else {
            if (ydf != null) {
                result[5] = ydf.format(new Date((long) ys));
            }
            else {
                result[5] = ynf.format(ys);
            }
        }
        if (Double.isNaN(ye)
                && intervalDataset.getEndY(series, item) == null) {
            result[6] = getNullYString();
        }
        else {
            if (ydf != null) {
                result[6] = ydf.format(new Date((long) ye));
View Full Code Here

      int seriesCount = dataset.getSeriesCount();
      double lvalue;
      double uvalue;
      if (includeInterval && dataset instanceof IntervalXYDataset)
      {
         IntervalXYDataset intervalXYData = (IntervalXYDataset) dataset;
         for (int series = 0; series < seriesCount; series++)
         {
            int itemCount = dataset.getItemCount(series);
            for (int item = 0; item < itemCount; item++)
            {
               double value = intervalXYData.getXValue(series, item);
               lvalue = intervalXYData.getStartXValue(series, item);
               uvalue = intervalXYData.getEndXValue(series, item);
               if (!Double.isNaN(value))
               {
                  minimum = Math.min(minimum, value);
                  maximum = Math.max(maximum, value);
               }
View Full Code Here

      // handle three cases by dataset type
      if (includeInterval && dataset instanceof IntervalXYDataset)
      {
         // handle special case of IntervalXYDataset
         IntervalXYDataset ixyd = (IntervalXYDataset) dataset;
         for (int series = 0; series < seriesCount; series++)
         {
            int itemCount = dataset.getItemCount(series);
            for (int item = 0; item < itemCount; item++)
            {
               double value = ixyd.getYValue(series, item);
               double lvalue = ixyd.getStartYValue(series, item);
               double uvalue = ixyd.getEndYValue(series, item);
               if (!Double.isNaN(value))
               {
                  minimum = Math.min(minimum, value);
                  maximum = Math.max(maximum, value);
               }
View Full Code Here

      double maximum = Double.NEGATIVE_INFINITY;

      if (includeInterval && dataset instanceof IntervalXYDataset)
      {
         // handle special case of IntervalXYDataset
         IntervalXYDataset ixyd = (IntervalXYDataset) dataset;
         Iterator iterator = visibleSeriesKeys.iterator();
         while (iterator.hasNext())
         {
            Comparable seriesKey = (Comparable) iterator.next();
            int series = dataset.indexOf(seriesKey);
            int itemCount = dataset.getItemCount(series);
            for (int item = 0; item < itemCount; item++)
            {
               double lvalue = ixyd.getStartXValue(series, item);
               double uvalue = ixyd.getEndXValue(series, item);
               if (!Double.isNaN(lvalue))
               {
                  minimum = Math.min(minimum, lvalue);
               }
               if (!Double.isNaN(uvalue))
View Full Code Here

         }
      }
      else if (includeInterval && dataset instanceof IntervalXYDataset)
      {
         // handle special case of IntervalXYDataset
         IntervalXYDataset ixyd = (IntervalXYDataset) dataset;
         Iterator iterator = visibleSeriesKeys.iterator();
         while (iterator.hasNext())
         {
            Comparable seriesKey = (Comparable) iterator.next();
            int series = dataset.indexOf(seriesKey);
            int itemCount = dataset.getItemCount(series);
            for (int item = 0; item < itemCount; item++)
            {
               double x = ixyd.getXValue(series, item);
               if (xRange.contains(x))
               {
                  double lvalue = ixyd.getStartYValue(series, item);
                  double uvalue = ixyd.getEndYValue(series, item);
                  if (!Double.isNaN(lvalue))
                  {
                     minimum = Math.min(minimum, lvalue);
                  }
                  if (!Double.isNaN(uvalue))
View Full Code Here

            {

               double value;
               if (dataset instanceof IntervalXYDataset)
               {
                  IntervalXYDataset intervalXYData = (IntervalXYDataset) dataset;
                  value = intervalXYData.getStartXValue(series, item);
               }
               else
               {
                  value = dataset.getXValue(series, item);
               }
View Full Code Here

TOP

Related Classes of org.jfree.data.xy.IntervalXYDataset

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.