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

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

Introduction

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

Prototype

public StackedXYAreaRenderer2() 

Source Link

Document

Creates a new renderer.

Usage

From source file:com.android.ddmuilib.net.NetworkPanel.java

/**
 * Create chart of recent network activity.
 *///from  w w  w  .j  a va  2s  .  c om
private void createChart() {

    mChart = ChartFactory.createTimeSeriesChart(null, null, null, null, false, false, false);

    // create backing datasets and series
    mRxTotalSeries = new TimeSeries("RX total");
    mTxTotalSeries = new TimeSeries("TX total");

    mRxTotalSeries.setMaximumItemAge(HISTORY_MILLIS);
    mTxTotalSeries.setMaximumItemAge(HISTORY_MILLIS);

    mTotalCollection = new TimeSeriesCollection();
    mTotalCollection.addSeries(mRxTotalSeries);
    mTotalCollection.addSeries(mTxTotalSeries);

    mRxDetailDataset = new LiveTimeTableXYDataset();
    mTxDetailDataset = new LiveTimeTableXYDataset();

    mTotalRenderer = new XYAreaRenderer(XYAreaRenderer.AREA);
    mRenderer = new StackedXYAreaRenderer2();

    final XYPlot xyPlot = mChart.getXYPlot();

    xyPlot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);

    xyPlot.setDataset(0, mTotalCollection);
    xyPlot.setDataset(1, mRxDetailDataset);
    xyPlot.setDataset(2, mTxDetailDataset);
    xyPlot.setRenderer(0, mTotalRenderer);
    xyPlot.setRenderer(1, mRenderer);
    xyPlot.setRenderer(2, mRenderer);

    // we control domain axis manually when taking samples
    mDomainAxis = xyPlot.getDomainAxis();
    mDomainAxis.setAutoRange(false);

    final NumberAxis axis = new NumberAxis();
    axis.setNumberFormatOverride(new BytesFormat(true));
    axis.setAutoRangeMinimumSize(50);
    xyPlot.setRangeAxis(axis);
    xyPlot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);

    // draw thick line to separate RX versus TX traffic
    xyPlot.addRangeMarker(new ValueMarker(0, java.awt.Color.BLACK, new java.awt.BasicStroke(2)));

    // label to indicate that positive axis is RX traffic
    final ValueMarker rxMarker = new ValueMarker(0);
    rxMarker.setStroke(new java.awt.BasicStroke(0));
    rxMarker.setLabel("RX");
    rxMarker.setLabelFont(rxMarker.getLabelFont().deriveFont(30f));
    rxMarker.setLabelPaint(java.awt.Color.LIGHT_GRAY);
    rxMarker.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
    rxMarker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT);
    xyPlot.addRangeMarker(rxMarker);

    // label to indicate that negative axis is TX traffic
    final ValueMarker txMarker = new ValueMarker(0);
    txMarker.setStroke(new java.awt.BasicStroke(0));
    txMarker.setLabel("TX");
    txMarker.setLabelFont(txMarker.getLabelFont().deriveFont(30f));
    txMarker.setLabelPaint(java.awt.Color.LIGHT_GRAY);
    txMarker.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT);
    txMarker.setLabelTextAnchor(TextAnchor.TOP_RIGHT);
    xyPlot.addRangeMarker(txMarker);

    mChartComposite = new ChartComposite(mPanel, SWT.BORDER, mChart, ChartComposite.DEFAULT_WIDTH,
            ChartComposite.DEFAULT_HEIGHT, ChartComposite.DEFAULT_MINIMUM_DRAW_WIDTH,
            ChartComposite.DEFAULT_MINIMUM_DRAW_HEIGHT, 4096, 4096, true, true, true, true, false, true);

    final FormData data = new FormData();
    data.top = new FormAttachment(mHeader);
    data.left = new FormAttachment(0);
    data.bottom = new FormAttachment(70);
    data.right = new FormAttachment(100);
    mChartComposite.setLayoutData(data);
}

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++)
    //      {//from www .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:net.atomique.ksar.graph.Graph.java

private JFreeChart makegraph(LocalDateTime start, LocalDateTime end) {

    long begingenerate = System.currentTimeMillis();

    CombinedDomainXYPlot plot = new CombinedDomainXYPlot(axisofdate);
    // do the stacked stuff
    for (PlotStackConfig tmp : graphconfig.getStacklist().values()) {
        if (tmp == null) {
            continue;
        }//  w w w. j av a2s. c om
        TimeTableXYDataset tmp2 = StackListbyName.get(tmp.getTitle());

        if (tmp2 != null) {
            StackedXYAreaRenderer2 renderer = new StackedXYAreaRenderer2();
            NumberAxis graphaxistitle = tmp.getAxis();
            XYPlot temp_plot = new XYPlot(tmp2, axisofdate, graphaxistitle, renderer);
            for (int i = 0; i < tmp2.getSeriesCount(); i++) {
                Color color = GlobalOptions.getDataColor(tmp2.getSeriesKey(i).toString());
                if (color != null) {
                    renderer.setSeriesPaint(i, color);
                    renderer.setDefaultStroke(new BasicStroke(1.0F));
                }
            }
            plot.add(temp_plot, tmp.getSize());
        }
    }
    // do the line stuff
    for (PlotStackConfig tmp : graphconfig.getPlotlist().values()) {
        XYItemRenderer renderer = new StandardXYItemRenderer();
        ArrayList<String> t = new ArrayList<>();
        String[] s = tmp.getHeaderStr().split("\\s+");
        Collections.addAll(t, s);

        XYDataset c = create_collection(t);
        NumberAxis graphaxistitle = tmp.getAxis();
        XYPlot tmpplot = new XYPlot(c, axisofdate, graphaxistitle, renderer);

        for (int i = 0; i < s.length; i++) {
            Color color = GlobalOptions.getDataColor(s[i]);
            if (color != null) {
                renderer.setSeriesPaint(i, color);
                renderer.setDefaultStroke(new BasicStroke(1.0F));
            }
        }
        plot.add(tmpplot, tmp.getSize());
    }
    if (plot.getSubplots().isEmpty()) {
        return null;
    }
    if (start != null && end != null) {
        Second g_start = convertLocalDateTimeToSecond(start);
        Second g_end = convertLocalDateTimeToSecond(end);
        axisofdate.setRange(g_start.getStart(), g_end.getEnd());
    }

    plot.setOrientation(PlotOrientation.VERTICAL);
    JFreeChart mychart = new JFreeChart(graphtitle, Config.getDEFAULT_FONT(), plot, true);
    long endgenerate = System.currentTimeMillis();
    mychart.setBackgroundPaint(Color.white);
    if (GlobalOptions.isDodebug()) {
        log.debug("graph generation: {} ms", (endgenerate - begingenerate));
    }
    return mychart;
}

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

private static JFreeChart createStackedTimeSeriesChart(
        final TimeTableXYDatasetChartDefinition chartDefinition) {
    JFreeChart chart = null;//from w  w  w.j ava 2  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();

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

    XYItemRenderer renderer = null;
    switch (chartDefinition.getChartType()) {
    case AREA_CHART_TYPE:
        renderer = chartDefinition.isStacked() ? new StackedXYAreaRenderer2() : new XYAreaRenderer();
        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:edu.ucla.stat.SOCR.chart.ChartGenerator_JTable.java

private JFreeChart createTableXYAreaChart(String title, String xLabel, String yLabel, TableXYDataset dataset) {
    JFreeChart chart = ChartFactory.createStackedXYAreaChart(title, // chart title
            xLabel, // x axis label
            yLabel, // y axis label
            dataset, // data
            orientation, true, // include legend
            true, // tooltips
            false // urls
    );/*  w w w  .  j a  v  a2s  .co  m*/

    XYPlot plot = (XYPlot) chart.getPlot();
    StackedXYAreaRenderer2 renderer = new StackedXYAreaRenderer2();
    // renderer.setToolTipGenerator(new StandardXYToolTipGenerator());
    plot.setRenderer(0, renderer);

    return chart;
}