Example usage for org.jfree.chart.renderer.xy XYStepRenderer XYStepRenderer

List of usage examples for org.jfree.chart.renderer.xy XYStepRenderer XYStepRenderer

Introduction

In this page you can find the example usage for org.jfree.chart.renderer.xy XYStepRenderer XYStepRenderer.

Prototype

public XYStepRenderer() 

Source Link

Document

Constructs a new renderer with no tooltip or URL generation.

Usage

From source file:msi.gama.outputs.layers.ChartDataListStatement.java

public ChartDataList createData(final IScope scope) throws GamaRuntimeException {
    ChartDataList datalist = new ChartDataList();

    //      scope.addVarWithValue(ChartDataListStatement.UPDATEDATA, new Boolean(true));
    //      scope.addVarWithValue(ChartDataListStatement.REVERSEDATA, new Boolean(reverse));
    //      for (int i=0; i<values.size(); i++)
    //      {/* w w w . j a v a  2 s . com*/
    //         ((ArrayList) scope.getVarValue(ChartDataStatement.DATAS)).add(values.get(i));         
    //      }
    IExpression valexp = getFacet(IKeyword.VALUE);
    datalist.valuelistexp = valexp;
    Boolean reverse = Cast.asBool(scope, getFacetValue(scope, "inverse_series_categories", false));
    datalist.doreverse = reverse;

    IExpression categexp = getFacet(ChartDataListStatement.CATEGNAMES);
    datalist.categlistexp = categexp;

    IExpression colorexp = getFacet(IKeyword.COLOR);
    datalist.colorlistexp = colorexp;

    IExpression serexp = getFacet(IKeyword.LEGEND);
    datalist.legendlistexp = serexp;

    if (categexp != null) {
        //         scope.addVarWithValue(ChartDataListStatement.CATEGNAMES, categexp);         
    }
    if (serexp != null) {
        //         scope.addVarWithValue(ChartDataListStatement.SERIESNAMES, serexp);
    }

    /*      Object val=valexp.resolveAgainst(scope).value(scope);
          if (!(val instanceof GamaList))
          {
             GuiUtils.debug("chart list with no list...");
             return datalist;
          }
                  
          IList values = Cast.asList(scope,val);
          GamaList defaultnames=new GamaList<String>();
          GamaList defaultcolors=new GamaList<GamaColor>();
          for (int i=0; i<values.size();i++)
          {
             defaultnames.add("data"+i);
             if (i<10)
             {
    if (i==0) defaultcolors.add((GamaColor)Cast.asColor(scope,GamaColor.CYAN));
    if (i==1) defaultcolors.add((GamaColor)Cast.asColor(scope,GamaColor.RED));
    if (i==2) defaultcolors.add((GamaColor)Cast.asColor(scope,GamaColor.YELLOW));
    if (i==3) defaultcolors.add((GamaColor)Cast.asColor(scope,GamaColor.GREEN));
    if (i==4) defaultcolors.add((GamaColor)Cast.asColor(scope,GamaColor.BLUE));
    if (i==5) defaultcolors.add((GamaColor)Cast.asColor(scope,GamaColor.PINK));
    if (i==6) defaultcolors.add((GamaColor)Cast.asColor(scope,GamaColor.MAGENTA));
    if (i==7) defaultcolors.add((GamaColor)Cast.asColor(scope,GamaColor.ORANGE));
    if (i==8) defaultcolors.add((GamaColor)Cast.asColor(scope,GamaColor.LIGHT_GRAY));
    if (i==9) defaultcolors.add((GamaColor)Cast.asColor(scope,GamaColor.DARK_GRAY));
             }
             if (i>=10)
             if (i<GamaColor.colors.size())
    defaultcolors.add(GamaColor.int_colors.values().toArray()[i]);
             else
    defaultcolors.add(GamaColor.getInt(Random.opRnd(scope, 10000)));            
                     
          }
          IList colors=defaultcolors;
            
          boolean dynamicseriesnames=false;
          GamaList seriesnames=defaultnames;
                  
          IExpression serievalue=(IExpression) scope.getVarValue(ChartDataListStatement.SERIESNAMES);
                  
          if (serievalue!=null)
          {
          Object valc=serievalue.resolveAgainst(scope).value(scope);
          if ((valc instanceof GamaList))
          {
             dynamicseriesnames=true;
             seriesnames=(GamaList)valc;
             for (int i=0; i<Math.min(values.size(),seriesnames.size());i++)
             {
    defaultnames.set(i,seriesnames.get(i)+"("+i+")");
             }
          }
          }
    //      GuiUtils.debug("dyncateg:"+defaultnames);
                  
    //      names = Cast.asList(scope, getFacetValue(scope, IKeyword.LEGEND,getFacetValue(scope, IKeyword.NAME,defaultnames)));
          colors = Cast.asList(scope, getFacetValue(scope, IKeyword.COLOR,defaultcolors));
    */

    boolean showMarkers = getFacetValue(scope, ChartDataStatement.MARKER, true);
    boolean showLine = getFacetValue(scope, ChartDataStatement.LINE_VISIBLE, true);
    boolean fillMarkers = getFacetValue(scope, ChartDataStatement.FILL, true);
    String style = getLiteral(IKeyword.STYLE);
    if (style == null) {
        style = IKeyword.LINE;
    }
    AbstractRenderer r = null;
    if (style.equals(IKeyword.LINE)) {
        r = new XYLineAndShapeRenderer(true, showMarkers);
        ((XYLineAndShapeRenderer) r).setBaseShapesFilled(fillMarkers);
        ((XYLineAndShapeRenderer) r).setSeriesLinesVisible(0, showLine);
    } else if (style.equals(IKeyword.AREA)) {
        r = new XYAreaRenderer();
    } else if (style.equals(IKeyword.WHISKER)) {
        r = new BoxAndWhiskerRenderer();
    } else if (style.equals(IKeyword.BAR)) {
        r = new BarRenderer();
    } else if (style.equals(IKeyword.DOT)) {
        r = new XYDotRenderer();
    } else if (style.equals(IKeyword.SPLINE)) {
        r = new XYSplineRenderer();
    } else if (style.equals(IKeyword.STEP)) {
        r = new XYStepRenderer();
    } else if (style.equals(IKeyword.AREA_STACK)) {
        r = new StackedXYAreaRenderer2();
    } else if (style.equals(IKeyword.STACK)) {
        r = new StackedBarRenderer();
    }
    datalist.renderer = r;

    return datalist;
}

From source file:SciTK.PlotXYStep.java

/** Initialization routine (common to both constructors) */
private void init(String x_label, String y_label, String window_title, double x_min, double x_max) {
    chart = ChartFactory.createXYStepChart("", x_label, y_label, data, PlotOrientation.VERTICAL, false, true,
            false);//from w ww  .ja  v a  2 s  .  c om

    chart.setBackgroundPaint(Color.white);
    XYPlot plot = chart.getXYPlot(); // the plot itself

    // Use a step renderer for this type of chart:
    XYStepRenderer renderer = new XYStepRenderer();
    renderer.setBaseStroke(new BasicStroke(2.0f));
    renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());
    renderer.setDefaultEntityRadius(6);
    renderer.setLegendItemLabelGenerator(new MultipleXYSeriesLabelGenerator());
    // need to tell the plot to use this renderer
    plot.setRenderer(renderer);

    // create new axis with range set by dataset max/min:
    NumberAxis domainAxis = new NumberAxis(x_label);
    domainAxis.setRange(x_min, x_max);
    plot.setDomainAxis(domainAxis);

    // for some reason default is white, change it to black:
    setGridlineColor(Color.BLACK);

    super.window_title = window_title;
    super.initUI();
}

From source file:replicatorg.app.ui.panels.ControlPanel.java

private ChartPanel makeChart() {
    JFreeChart chart = ChartFactory.createXYLineChart(null, null, null, t0MeasuredDataset,
            PlotOrientation.VERTICAL, false, false, false);
    chart.setBorderVisible(false);//from   www .ja  v a2  s. c om
    chart.setBackgroundPaint(null);

    XYPlot plot = chart.getXYPlot();
    ValueAxis axis = plot.getDomainAxis();
    axis.setLowerMargin(0);
    axis.setFixedAutoRange(3L * 60L * 1000L); // auto range to three minutes

    TickUnits unitSource = new TickUnits();
    unitSource.add(new NumberTickUnit(60L * 1000L)); // minutes
    unitSource.add(new NumberTickUnit(1L * 1000L)); // seconds

    axis.setStandardTickUnits(unitSource);
    axis.setTickLabelsVisible(false); // We don't need to see the millisecond count
    axis = plot.getRangeAxis();
    axis.setRange(0, 300); // set temperature range from 0 to 300 degrees C so you can see overshoots 

    XYStepRenderer renderer = new XYStepRenderer();
    plot.setDataset(1, t0TargetDataset);
    plot.setRenderer(1, renderer);
    plot.getRenderer(1).setSeriesPaint(0, t0TargetColor);
    plot.getRenderer(0).setSeriesPaint(0, t0MeasuredColor);

    plot.setDataset(2, pMeasuredDataset);
    plot.setRenderer(2, new XYLineAndShapeRenderer(true, false));
    plot.getRenderer(2).setSeriesPaint(0, pMeasuredColor);
    plot.setDataset(3, pTargetDataset);
    plot.setRenderer(3, new XYStepRenderer());
    plot.getRenderer(3).setSeriesPaint(0, pTargetColor);

    plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE);
    ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new Dimension(400, 160));
    chartPanel.setOpaque(false);
    return chartPanel;
}

From source file:org.pentaho.platform.uifoundation.chart.JFreeChartEngine.java

private static JFreeChart createXYSeriesCollectionChart(
        final XYSeriesCollectionChartDefinition chartDefinition) {
    JFreeChart chart = null;/*from   w  ww  .  ja v  a2 s . c o m*/
    // TODO Make the following accessible from the chartDefinition
    String domainAxisLabel = null;
    String rangeAxisLabel = null;
    boolean tooltips = true;
    boolean urls = true;
    // -----------------------------------------------------------

    String title = chartDefinition.getTitle();
    boolean legend = chartDefinition.isLegendIncluded();

    NumberAxis domainAxis = chartDefinition.isThreeD() ? new NumberAxis3D(domainAxisLabel)
            : new NumberAxis(domainAxisLabel);
    domainAxis.setAutoRangeIncludesZero(chartDefinition.isDomainIncludesZero());
    domainAxis.setAutoRangeStickyZero(chartDefinition.isDomainStickyZero());
    ValueAxis rangeAxis = new NumberAxis(rangeAxisLabel);

    AbstractXYItemRenderer renderer = null;
    switch (chartDefinition.getChartType()) {
    case LINE_CHART_TYPE:
        renderer = chartDefinition.isThreeD() ? new XYLine3DRenderer()
                : new XYLineAndShapeRenderer(true, false);
        ((XYLineAndShapeRenderer) renderer).setShapesVisible(chartDefinition.isMarkersVisible());
        ((XYLineAndShapeRenderer) renderer).setBaseShapesFilled(chartDefinition.isMarkersVisible());
        break;
    case AREA_CHART_TYPE:
        renderer = new XYAreaRenderer();
        break;
    case STEP_CHART_TYPE:
        renderer = new XYStepRenderer();
        break;
    case STEP_AREA_CHART_TYPE:
        renderer = new XYStepAreaRenderer();
        break;
    case DIFFERENCE_CHART_TYPE:
        renderer = new XYDifferenceRenderer();
        break;
    case DOT_CHART_TYPE:
        renderer = new XYDotRenderer();
        ((XYDotRenderer) renderer).setDotHeight(chartDefinition.getDotHeight());
        ((XYDotRenderer) renderer).setDotWidth(chartDefinition.getDotWidth());
        break;
    default:
        // should log an error if invalid chart type passed in - at least return null for no renderer
        return null;
    }

    if (renderer != null && legend) {
        renderer.setLegendItemURLGenerator(new StandardXYSeriesLabelGenerator());
    }

    if (tooltips) {
        XYToolTipGenerator generator = new StandardXYToolTipGenerator(chartDefinition.getTooltipContent(),
                new DecimalFormat(chartDefinition.getTooltipXFormat()),
                new DecimalFormat(chartDefinition.getTooltipYFormat()));
        renderer.setToolTipGenerator(generator);
    }

    if (urls) {
        renderer.setURLGenerator(new StandardXYURLGenerator());
    }

    renderer.setStroke(JFreeChartEngine.getLineStyleStroke(chartDefinition.getLineStyle(),
            chartDefinition.getLineWidth()));

    XYPlot plot = new XYPlot(chartDefinition, domainAxis, rangeAxis, renderer);
    JFreeChartEngine.updatePlot(plot, chartDefinition);

    chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend);

    return chart;

}

From source file:com.freedomotic.jfrontend.extras.GraphPanel.java

private void createChart(UsageDataFrame points, String title) {
    series = new TimeSeries(title);

    for (UsageData d : points.getData()) {
        Date resultdate = d.getDateTime();
        Millisecond ms_read = new Millisecond(resultdate);
        int poweredValue = -1;
        if (d.getObjBehavior().equalsIgnoreCase("powered")) {
            poweredValue = d.getObjValue().equalsIgnoreCase("true") ? 1 : 0;
        } else if (d.getObjBehavior().equalsIgnoreCase("brigthness")) {
            try {
                poweredValue = Integer.parseInt(d.getObjValue());
            } catch (NumberFormatException ex) {
                poweredValue = -1;/*from  w w  w.  ja v a 2 s. c  o  m*/
            }
        }
        series.addOrUpdate(ms_read, poweredValue);
    }

    XYDataset xyDataset = new TimeSeriesCollection(series);

    chart = ChartFactory.createTimeSeriesChart("Chart", "TIME", "VALUE", xyDataset, true, // legend
            true, // tooltips
            false // urls
    );
    chart.setAntiAlias(true);
    // Set plot styles
    XYPlot plot = (XYPlot) chart.getPlot();
    plot.setBackgroundPaint(Color.lightGray);
    plot.setDomainGridlinePaint(Color.white);
    plot.setRangeGridlinePaint(Color.white);
    plot.setAxisOffset(new RectangleInsets(2.0, 2.0, 2.0, 2.0));
    // Set series line styles
    plot.setRenderer(new XYStepRenderer());

    XYItemRenderer r = plot.getRenderer();
    if (r instanceof XYLineAndShapeRenderer) {
        XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;
        renderer.setShapesVisible(true);
        renderer.setShapesFilled(true);
    }

    // Set date axis style
    DateAxis axis = (DateAxis) plot.getDomainAxis();

    String formatString = "MM-dd HH";
    DateTickUnitType dtut = DateTickUnitType.HOUR;

    if (jComboGranularity.getSelectedItem().equals("Year")) {
        formatString = "yyyy";
        dtut = DateTickUnitType.YEAR;
    } else if (jComboGranularity.getSelectedItem().equals("Month")) {
        axis.setDateFormatOverride(new SimpleDateFormat("yyyy-MM"));
        dtut = DateTickUnitType.MONTH;
    } else if (jComboGranularity.getSelectedItem().equals("Day")) {
        axis.setDateFormatOverride(new SimpleDateFormat("MM-dd"));
        dtut = DateTickUnitType.DAY;
    } else if (jComboGranularity.getSelectedItem().equals("Minute")) {
        formatString = "MM-dd HH:mm";
        dtut = DateTickUnitType.MINUTE;
    } else if (jComboGranularity.getSelectedItem().equals("Second")) {
        formatString = "HH:mm:SS";
        dtut = DateTickUnitType.SECOND;
    }

    DateFormat formatter = new SimpleDateFormat(formatString);
    DateTickUnit unit = new DateTickUnit(dtut, 1, formatter);
    axis.setTickUnit(unit);

    ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(800, 500));
    graphPanel.removeAll();
    graphPanel.add(chartPanel);

}

From source file:tools.descartes.bungee.chart.ChartGenerator.java

public static XYPlot createIntensityPlot(final List<ArrivalRateTuple> intensities) {
    final TimeSeriesCollection dataset = new TimeSeriesCollection();
    final TimeSeries series = new TimeSeries("load intensity");
    for (ArrivalRateTuple intensity : intensities) {
        long milliseconds = (referenceDate.getTime() / 1000 + (long) Math.floor(intensity.getTimeStamp()))
                * 1000;/* w  w w.j  a va 2  s  .  c  o m*/
        series.add(new FixedMillisecond(milliseconds), intensity.getArrivalRate());
    }
    dataset.addSeries(series);

    XYStepRenderer renderer = new XYStepRenderer();
    //renderer.setSeriesStroke(0, (new BasicStroke(2.0F)));   
    renderer.setSeriesPaint(0, Color.GRAY);
    final NumberAxis rangeAxis = new NumberAxis("Arrival Rate [1/s]");
    //rangeAxis.setRange(0, 220);
    final XYPlot intensityPlot = new XYPlot(dataset, null, rangeAxis, renderer);
    return intensityPlot;
}

From source file:org.pentaho.platform.uifoundation.chart.JFreeChartEngine.java

private static JFreeChart createTimeSeriesCollectionChart(
        final TimeSeriesCollectionChartDefinition chartDefinition) {
    JFreeChart chart = null;/*w ww  .  jav  a 2  s .com*/
    // TODO Make the following accessible from the chartDefinition
    String domainAxisLabel = null;
    String rangeAxisLabel = null;
    boolean tooltips = true;
    boolean urls = true;
    // -----------------------------------------------------------

    String title = chartDefinition.getTitle();
    boolean legend = chartDefinition.isLegendIncluded();

    DateAxis domainAxis = new DateAxis(domainAxisLabel, TimeZone.getDefault());
    ValueAxis rangeAxis = new NumberAxis(rangeAxisLabel);

    XYItemRenderer renderer = null;
    switch (chartDefinition.getChartType()) {
    case LINE_CHART_TYPE:
        renderer = chartDefinition.isThreeD() ? new XYLine3DRenderer()
                : new XYLineAndShapeRenderer(true, false);
        ((XYLineAndShapeRenderer) renderer).setShapesVisible(chartDefinition.isMarkersVisible());
        ((XYLineAndShapeRenderer) renderer).setBaseShapesFilled(chartDefinition.isMarkersVisible());
        break;
    case AREA_CHART_TYPE:
        renderer = new XYAreaRenderer();
        break;
    case STEP_CHART_TYPE:
        renderer = new XYStepRenderer();
        break;
    case STEP_AREA_CHART_TYPE:
        renderer = new XYStepAreaRenderer();
        break;
    case DIFFERENCE_CHART_TYPE:
        renderer = new XYDifferenceRenderer();
        break;
    case DOT_CHART_TYPE:
        renderer = new XYDotRenderer();
        ((XYDotRenderer) renderer).setDotHeight(chartDefinition.getDotHeight());
        ((XYDotRenderer) renderer).setDotWidth(chartDefinition.getDotWidth());
        break;
    default:
        // should log an error if invalid chart type passed in - at least return null for no renderer
        return null;
    }
    if (tooltips) {
        XYToolTipGenerator generator = new StandardXYToolTipGenerator(chartDefinition.getTooltipContent(),
                new SimpleDateFormat(chartDefinition.getTooltipXFormat()),
                new DecimalFormat(chartDefinition.getTooltipYFormat()));
        renderer.setToolTipGenerator(generator);
    }
    if (urls) {
        renderer.setURLGenerator(new StandardXYURLGenerator());
    }

    renderer.setStroke(JFreeChartEngine.getLineStyleStroke(chartDefinition.getLineStyle(),
            chartDefinition.getLineWidth()));

    XYPlot plot = new XYPlot(chartDefinition, domainAxis, rangeAxis, renderer);
    JFreeChartEngine.updatePlot(plot, chartDefinition);

    chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend);

    return chart;

}

From source file:tools.descartes.bungee.chart.ChartGenerator.java

public static XYPlot createDemandPlot(final List<ArrivalRateTuple> intensities,
        final IntensityDemandMapping mapping) {
    final TimeSeriesCollection dataset = new TimeSeriesCollection();
    final TimeSeries series = new TimeSeries("resource demand");
    for (ArrivalRateTuple intensity : intensities) {
        long milliseconds = (referenceDate.getTime() / 1000 + (long) Math.floor(intensity.getTimeStamp()))
                * 1000;/*from w  w w.ja  v  a 2  s .c  o m*/
        series.add(new FixedMillisecond(milliseconds), mapping.getResourceDemand(intensity.getArrivalRate()));
    }
    dataset.addSeries(series);

    XYStepRenderer renderer = new XYStepRenderer();
    renderer.setSeriesPaint(0, Color.RED);
    renderer.setSeriesStroke(0, new BasicStroke(STROKE_WIDTH));
    final NumberAxis rangeAxis = new NumberAxis("Resource Amount");
    rangeAxis.setAutoRangeIncludesZero(true);
    //rangeAxis.setRange(0,2.2);
    rangeAxis.setTickUnit(new NumberTickUnit(2));
    final XYPlot amountPlot = new XYPlot(dataset, null, rangeAxis, renderer);
    return amountPlot;
}

From source file:charts.Chart.java

public static JFreeChart MultipleStepChartOverlayed(XYDataset[] datasets1, XYDataset[] datasets2, String title,
        String x_axis_label, String y_axis_label, boolean showlegend, float maxvalue, float minvalue,
        boolean showchart) {

    ValueAxis domainAxis = new NumberAxis(x_axis_label);
    domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    ValueAxis rangeAxis = new NumberAxis(y_axis_label);
    rangeAxis.setStandardTickUnits(NumberAxis.createStandardTickUnits());

    if (minvalue == 0 && maxvalue == 0) {
        rangeAxis.setAutoRange(true);// w  ww.  jav a  2s  .c om
    } else {
        rangeAxis.setRange(minvalue, maxvalue);
    }

    //define o grafo combinado, determinando o label do eixo x.
    CombinedDomainXYPlot parent = new CombinedDomainXYPlot(domainAxis);

    for (int i = 0; i < datasets1.length; i++) {
        XYItemRenderer renderer1 = new XYStepRenderer();
        renderer1.setBaseStroke(new BasicStroke(2.0f));
        renderer1.setBaseSeriesVisibleInLegend(showlegend);
        XYPlot subplot = new XYPlot(datasets1[i], domainAxis, rangeAxis, renderer1);
        subplot.setBackgroundPaint(Color.white);
        subplot.setRangeGridlinePaint(Color.black);
        subplot.setDomainGridlinesVisible(true);

        XYSplineRenderer renderer2 = new XYSplineRenderer();
        renderer2.setSeriesPaint(0, Color.LIGHT_GRAY);
        renderer2.setBaseStroke(new BasicStroke(2.0f));
        renderer2.setShapesVisible(true);
        renderer2.setBaseSeriesVisibleInLegend(false);
        subplot.setDataset(1, datasets2[i]);
        subplot.setRenderer(1, renderer2);
        parent.add(subplot, 1);
    }
    JFreeChart jfreechart = new JFreeChart(title, parent);
    JPanel jpanel = new ChartPanel(jfreechart);
    jpanel.setPreferredSize(new Dimension(defaultwidth, defaultheight));

    if (showchart) {
        JFrame chartwindow = new JFrame(title);
        chartwindow.setContentPane(jpanel);
        chartwindow.pack();
        RefineryUtilities.centerFrameOnScreen(chartwindow);
        chartwindow.setVisible(true);
    }
    return jfreechart;
}

From source file:edu.ucla.stat.SOCR.chart.ChartGenerator_JTable.java

private JFreeChart createXYStepChart(String title, String xLabel, String yLabel, XYDataset dataset) {
    JFreeChart chart = ChartFactory.createXYLineChart(title, xLabel, yLabel, dataset, orientation, true, true,
            false);//from  w  ww .j ava  2s  . c o m
    XYPlot plot = (XYPlot) chart.getPlot();
    XYStepRenderer renderer = new XYStepRenderer();
    //  renderer.setStroke(new BasicStroke(2.0f));
    //   renderer.setToolTipGenerator(new StandardXYToolTipGenerator());
    renderer.setDefaultEntityRadius(6);
    //renderer.setLegendItemLabelGenerator(new SOCRXYSeriesLabelGenerator());

    plot.setRenderer(renderer);

    return chart;
}